Function at 0x10028d20
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1007afb4
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
mov eax, dword [0x1008f3a0]
xor eax, esp
mov dword [esp + 0xf8], eax
push ebx
push ebp
push edi
mov eax, dword [0x1008f3a0]
xor eax, esp
push eax
lea eax, [esp + 0x10c]
mov dword fs:[0], eax
push fcn.100014c0
push fcn.10001460
push 6
lea eax, [esi + 4]
push 0x1c
push eax
mov dword [esp + 0x64], esi
mov dword [esi], vtable.business::UrlTypeExtract.0
call fcn.10059c92
push fcn.100014c0
push fcn.10001460
push 0xb
lea eax, [esi + 0xac]
push 0x1c
xor ebx, ebx
push eax
mov dword [esp + 0x128], ebx
call fcn.10059c92
mov byte [esp + 0x114], 1
mov al, 0x2e
mov byte [esp + 0x11], al
mov byte [esp + 0xdb], al
mov byte [esp + 0xd3], al
xor eax, eax
mov dword [esi + 0x1e0], eax
mov dword [esi + 0x1e4], eax
mov dword [esi + 0x1e8], eax
mov dword [esi + 0x1ec], eax
mov dword [esi + 0x1f0], eax
mov dword [esi + 0x1f4], eax
mov dword [esi + 0x1f8], eax
mov dword [esi + 0x1fc], eax
mov dword [esi + 0x200], eax
mov dword [esi + 0x204], eax
mov dword [esi + 0x208], eax
mov byte [esp + 0x70], 0xff
cmp byte [esp + 0x70], 0xff
mov al, 0x2d
mov cl, 0x34
mov byte [esp + 0x10], 0x6d
mov byte [esp + 0x12], bl
mov byte [esp + 0xd8], 0x77
mov byte [esp + 0xd9], 0x61
mov byte [esp + 0xda], 0x70
mov byte [esp + 0xdc], bl
mov byte [esp + 0xd0], 0x77
mov byte [esp + 0xd1], 0x77
mov byte [esp + 0xd2], 0x77
mov byte [esp + 0xd4], bl
mov byte [esp + 0x71], 0x62
mov byte [esp + 0x72], 0x61
mov byte [esp + 0x73], al
mov byte [esp + 0x74], cl
mov byte [esp + 0x75], 0x6d
mov byte [esp + 0x76], 0xb4
mov byte [esp + 0x77], 0xbc
mov byte [esp + 0x78], 0x23
mov byte [esp + 0x79], 0x9c
mov byte [esp + 0x7a], 0x74
mov byte [esp + 0x7b], 0xde
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
jne 0x10028f4b
movzx edx, byte [esp + 0x71]
xor al, 0x44
mov byte [esp + 0x70], dl
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x72], al
mov al, byte [esp + 0x75]
xor al, 0x18
mov byte [esp + 0x74], al
mov al, byte [esp + 0x76]
xor al, 0x9a
mov byte [esp + 0x75], al
mov al, byte [esp + 0x77]
xor al, 0xdf
mov byte [esp + 0x76], al
mov al, byte [esp + 0x78]
xor al, 0x4c
mov byte [esp + 0x77], al
mov al, byte [esp + 0x79]
xor al, 0xf1
mov byte [esp + 0x78], al
mov al, byte [esp + 0x7a]
xor al, 0x74
mov byte [esp + 0x79], al
mov al, byte [esp + 0x7b]
xor al, 0xde
mov byte [esp + 0x7a], al
mov al, byte [esp + 0x7c]
xor al, 0x5b
mov byte [esp + 0x7b], al
mov al, byte [esp + 0x7d]
xor al, 0xbc
mov byte [esp + 0x7c], al
mov al, byte [esp + 0x7e]
xor al, 0x6b
mov byte [esp + 0x7d], al
mov al, byte [esp + 0x7f]
xor al, 7
mov byte [esp + 0x7e], al
mov al, byte [esp + 0x80]
xor cl, 0x50
xor al, 0xe6
mov byte [esp + 0x71], dl
mov byte [esp + 0x73], cl
mov byte [esp + 0x7f], al
lea eax, [esp + 0x70]
mov byte [esp + 0x80], bl
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10028f60
sub eax, edi
push eax
lea eax, [esp + 0x74]
push eax
lea ecx, [esi + 4]
call fcn.100014f0
mov al, 0x23
mov byte [esp + 0x70], 0xff
cmp byte [esp + 0x70], 0xff
mov cl, 0x3f
mov byte [esp + 0x71], 0x73
mov byte [esp + 0x72], 0x6f
mov byte [esp + 0x73], al
mov byte [esp + 0x74], cl
mov byte [esp + 0x75], 0x6d
mov byte [esp + 0x76], 0xb4
mov byte [esp + 0x77], 0xbc
mov byte [esp + 0x78], al
mov byte [esp + 0x79], 0x9c
mov byte [esp + 0x7a], 0x74
mov byte [esp + 0x7b], 0xde
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
jne 0x1002907e
movzx edx, byte [esp + 0x71]
xor al, 0x44
mov byte [esp + 0x70], dl
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x72], al
mov al, byte [esp + 0x75]
xor al, 0x18
mov byte [esp + 0x74], al
mov al, byte [esp + 0x76]
xor al, 0x9a
mov byte [esp + 0x75], al
mov al, byte [esp + 0x77]
xor al, 0xdf
mov byte [esp + 0x76], al
mov al, byte [esp + 0x78]
xor al, 0x4c
mov byte [esp + 0x77], al
mov al, byte [esp + 0x79]
xor al, 0xf1
mov byte [esp + 0x78], al
mov al, byte [esp + 0x7a]
xor al, 0x74
mov byte [esp + 0x79], al
mov al, byte [esp + 0x7b]
xor al, 0xde
mov byte [esp + 0x7a], al
mov al, byte [esp + 0x7c]
xor al, 0x5b
mov byte [esp + 0x7b], al
mov al, byte [esp + 0x7d]
xor al, 0xbc
mov byte [esp + 0x7c], al
mov al, byte [esp + 0x7e]
xor al, 0x6b
mov byte [esp + 0x7d], al
mov al, byte [esp + 0x7f]
xor al, 7
mov byte [esp + 0x7e], al
mov al, byte [esp + 0x80]
xor cl, 0x50
xor al, 0xe6
mov byte [esp + 0x71], dl
mov byte [esp + 0x73], cl
mov byte [esp + 0x7f], al
lea eax, [esp + 0x70]
mov byte [esp + 0x80], bl
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10029090
sub eax, edi
push eax
lea eax, [esp + 0x74]
lea ecx, [esi + 0x20]
push eax
call fcn.100014f0
mov byte [esp + 0x70], 0xff
cmp byte [esp + 0x70], 0xff
mov al, 0x2b
mov cl, 0x61
mov byte [esp + 0x71], 0x68
mov byte [esp + 0x72], 0x61
mov byte [esp + 0x73], al
mov byte [esp + 0x74], cl
mov byte [esp + 0x75], 0x2a
mov byte [esp + 0x76], 0xa9
mov byte [esp + 0x77], 0xf1
mov byte [esp + 0x78], 0x2f
mov byte [esp + 0x79], 0x9e
mov byte [esp + 0x7a], 0x19
mov byte [esp + 0x7b], 0xde
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
jne 0x100291af
movzx edx, byte [esp + 0x71]
xor al, 0x44
mov byte [esp + 0x70], dl
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x72], al
mov al, byte [esp + 0x75]
xor al, 0x18
mov byte [esp + 0x74], al
mov al, byte [esp + 0x76]
xor al, 0x9a
mov byte [esp + 0x75], al
mov al, byte [esp + 0x77]
xor al, 0xdf
mov byte [esp + 0x76], al
mov al, byte [esp + 0x78]
xor al, 0x4c
mov byte [esp + 0x77], al
mov al, byte [esp + 0x79]
xor al, 0xf1
mov byte [esp + 0x78], al
mov al, byte [esp + 0x7a]
xor al, 0x74
mov byte [esp + 0x79], al
mov al, byte [esp + 0x7b]
xor al, 0xde
mov byte [esp + 0x7a], al
mov al, byte [esp + 0x7c]
xor al, 0x5b
mov byte [esp + 0x7b], al
mov al, byte [esp + 0x7d]
xor al, 0xbc
mov byte [esp + 0x7c], al
mov al, byte [esp + 0x7e]
xor al, 0x6b
mov byte [esp + 0x7d], al
mov al, byte [esp + 0x7f]
xor al, 7
mov byte [esp + 0x7e], al
mov al, byte [esp + 0x80]
xor cl, 0x50
xor al, 0xe6
mov byte [esp + 0x71], dl
mov byte [esp + 0x73], cl
mov byte [esp + 0x7f], al
lea eax, [esp + 0x70]
mov byte [esp + 0x80], bl
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100291c0
sub eax, edi
push eax
lea eax, [esp + 0x74]
lea ecx, [esi + 0x3c]
push eax
call fcn.100014f0
mov byte [esp + 0x70], 0xff
cmp byte [esp + 0x70], 0xff
mov al, 0x6a
mov cl, 0x33
mov byte [esp + 0x71], 0x35
mov byte [esp + 0x72], 0x38
mov byte [esp + 0x73], al
mov byte [esp + 0x74], cl
mov byte [esp + 0x75], 0x77
mov byte [esp + 0x76], 0xf7
mov byte [esp + 0x77], 0xdf
mov byte [esp + 0x78], 0x4c
mov byte [esp + 0x79], 0xf1
mov byte [esp + 0x7a], 0x74
mov byte [esp + 0x7b], 0xde
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
jne 0x100292df
movzx edx, byte [esp + 0x71]
xor al, 0x44
mov byte [esp + 0x70], dl
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x72], al
mov al, byte [esp + 0x75]
xor al, 0x18
mov byte [esp + 0x74], al
mov al, byte [esp + 0x76]
xor al, 0x9a
mov byte [esp + 0x75], al
mov al, byte [esp + 0x77]
xor al, 0xdf
mov byte [esp + 0x76], al
mov al, byte [esp + 0x78]
xor al, 0x4c
mov byte [esp + 0x77], al
mov al, byte [esp + 0x79]
xor al, 0xf1
mov byte [esp + 0x78], al
mov al, byte [esp + 0x7a]
xor al, 0x74
mov byte [esp + 0x79], al
mov al, byte [esp + 0x7b]
xor al, 0xde
mov byte [esp + 0x7a], al
mov al, byte [esp + 0x7c]
xor al, 0x5b
mov byte [esp + 0x7b], al
mov al, byte [esp + 0x7d]
xor al, 0xbc
mov byte [esp + 0x7c], al
mov al, byte [esp + 0x7e]
xor al, 0x6b
mov byte [esp + 0x7d], al
mov al, byte [esp + 0x7f]
xor al, 7
mov byte [esp + 0x7e], al
mov al, byte [esp + 0x80]
xor cl, 0x50
xor al, 0xe6
mov byte [esp + 0x71], dl
mov byte [esp + 0x73], cl
mov byte [esp + 0x7f], al
lea eax, [esp + 0x70]
mov byte [esp + 0x80], bl
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100292f0
sub eax, edi
push eax
lea eax, [esp + 0x74]
lea ecx, [esi + 0x58]
push eax
call fcn.100014f0
mov byte [esp + 0x70], 0xff
cmp byte [esp + 0x70], 0xff
mov al, 0x30
mov cl, 0x3f
mov byte [esp + 0x71], 0x61
mov byte [esp + 0x72], 0x75
mov byte [esp + 0x73], al
mov byte [esp + 0x74], cl
mov byte [esp + 0x75], 0x70
mov byte [esp + 0x76], 0xf5
mov byte [esp + 0x77], 0xb2
mov byte [esp + 0x78], 0x29
mov byte [esp + 0x79], 0xdf
mov byte [esp + 0x7a], 0x17
mov byte [esp + 0x7b], 0xb1
mov byte [esp + 0x7c], 0x36
mov byte [esp + 0x7d], 0x92
mov byte [esp + 0x7e], 8
mov byte [esp + 0x7f], 0x69
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
jne 0x1002940f
movzx edx, byte [esp + 0x71]
xor al, 0x44
mov byte [esp + 0x70], dl
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x72], al
mov al, byte [esp + 0x75]
xor al, 0x18
mov byte [esp + 0x74], al
mov al, byte [esp + 0x76]
xor al, 0x9a
mov byte [esp + 0x75], al
mov al, byte [esp + 0x77]
xor al, 0xdf
mov byte [esp + 0x76], al
mov al, byte [esp + 0x78]
xor al, 0x4c
mov byte [esp + 0x77], al
mov al, byte [esp + 0x79]
xor al, 0xf1
mov byte [esp + 0x78], al
mov al, byte [esp + 0x7a]
xor al, 0x74
mov byte [esp + 0x79], al
mov al, byte [esp + 0x7b]
xor al, 0xde
mov byte [esp + 0x7a], al
mov al, byte [esp + 0x7c]
xor al, 0x5b
mov byte [esp + 0x7b], al
mov al, byte [esp + 0x7d]
xor al, 0xbc
mov byte [esp + 0x7c], al
mov al, byte [esp + 0x7e]
xor al, 0x6b
mov byte [esp + 0x7d], al
mov al, byte [esp + 0x7f]
xor al, 7
mov byte [esp + 0x7e], al
mov al, byte [esp + 0x80]
xor cl, 0x50
xor al, 0xe6
mov byte [esp + 0x71], dl
mov byte [esp + 0x73], cl
mov byte [esp + 0x7f], al
lea eax, [esp + 0x70]
mov byte [esp + 0x80], bl
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10029420
sub eax, edi
push eax
lea eax, [esp + 0x74]
lea ecx, [esi + 0x74]
push eax
call fcn.100014f0
mov byte [esp + 0x70], 0xff
cmp byte [esp + 0x70], 0xff
mov al, 0x6a
mov cl, 0x33
mov byte [esp + 0x71], 0x73
mov byte [esp + 0x72], 0x6d
mov byte [esp + 0x73], al
mov byte [esp + 0x74], cl
mov byte [esp + 0x75], 0x76
mov byte [esp + 0x76], 0x9a
mov byte [esp + 0x77], 0xdf
mov byte [esp + 0x78], 0x4c
mov byte [esp + 0x79], 0xf1
mov byte [esp + 0x7a], 0x74
mov byte [esp + 0x7b], 0xde
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
jne 0x1002953f
movzx edx, byte [esp + 0x71]
xor al, 0x44
mov byte [esp + 0x70], dl
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x72], al
mov al, byte [esp + 0x75]
xor al, 0x18
mov byte [esp + 0x74], al
mov al, byte [esp + 0x76]
xor al, 0x9a
mov byte [esp + 0x75], al
mov al, byte [esp + 0x77]
xor al, 0xdf
mov byte [esp + 0x76], al
mov al, byte [esp + 0x78]
xor al, 0x4c
mov byte [esp + 0x77], al
mov al, byte [esp + 0x79]
xor al, 0xf1
mov byte [esp + 0x78], al
mov al, byte [esp + 0x7a]
xor al, 0x74
mov byte [esp + 0x79], al
mov al, byte [esp + 0x7b]
xor al, 0xde
mov byte [esp + 0x7a], al
mov al, byte [esp + 0x7c]
xor al, 0x5b
mov byte [esp + 0x7b], al
mov al, byte [esp + 0x7d]
xor al, 0xbc
mov byte [esp + 0x7c], al
mov al, byte [esp + 0x7e]
xor al, 0x6b
mov byte [esp + 0x7d], al
mov al, byte [esp + 0x7f]
xor al, 7
mov byte [esp + 0x7e], al
mov al, byte [esp + 0x80]
xor cl, 0x50
xor al, 0xe6
mov byte [esp + 0x71], dl
mov byte [esp + 0x73], cl
mov byte [esp + 0x7f], al
lea eax, [esp + 0x70]
mov byte [esp + 0x80], bl
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10029550
sub eax, edi
push eax
lea eax, [esp + 0x74]
lea ecx, [esi + 0x90]
push eax
call fcn.100014f0
mov al, 0x6e
mov edi, 2
mov byte [esp + 0xef], al
mov byte [esp + 0xf2], al
mov byte [esp + 0xe0], 0xff
mov byte [esp + 0xe1], 0x42
mov byte [esp + 0xe2], 0x75
mov byte [esp + 0xe3], 0x37
mov byte [esp + 0xe4], 0x39
mov byte [esp + 0xe5], 0x76
mov byte [esp + 0xe6], 0xff
mov byte [esp + 0xe7], 0xac
mov byte [esp + 0xe8], 0x3f
mov byte [esp + 0xe9], 0xa1
mov byte [esp + 0xea], 6
mov byte [esp + 0xeb], 0xb1
mov byte [esp + 0xec], 0x36
mov byte [esp + 0xed], 0xd3
mov byte [esp + 0xee], 0x1f
mov byte [esp + 0xf0], 0x89
mov byte [esp + 0xf1], 0xff
mov byte [esp + 0xf3], bl
mov byte [esp + 0xf4], 0x44
mov byte [esp + 0xf5], 0x50
mov byte [esp + 0xf6], 0x18
mov byte [esp + 0xf7], 0x9a
mov byte [esp + 0xf8], 0xdf
mov byte [esp + 0xf9], 0x4c
mov byte [esp + 0xfa], 0xf1
mov byte [esp + 0xfb], 0x74
mov byte [esp + 0xfc], 0xde
mov byte [esp + 0xfd], 0x5b
mov byte [esp + 0xfe], 0xbc
mov byte [esp + 0xff], 0x6b
mov byte [esp + 0x100], 7
mov byte [esp + 0x101], 0xe6
mov dword [esp + 0x102], ebx
lea ecx, [esp + 0xe1]
lea eax, [esp + 0xe2]
lea ebp, [edi + 0xe]
jmp 0x100296a0
cmp byte [eax - 2], 0xff
jne 0x10029747
movzx edx, byte [eax - 1]
mov byte [ecx - 1], dl
movzx edx, byte [eax]
mov byte [ecx], dl
movzx edx, byte [eax + 1]
xor dl, 0x44
mov byte [ecx + 1], dl
movzx edx, byte [eax + 2]
xor dl, 0x50
mov byte [ecx + 2], dl
movzx edx, byte [eax + 3]
xor dl, 0x18
mov byte [ecx + 3], dl
movzx edx, byte [eax + 4]
xor dl, 0x9a
mov byte [ecx + 4], dl
movzx edx, byte [eax + 5]
xor dl, 0xdf
mov byte [ecx + 5], dl
movzx edx, byte [eax + 6]
xor dl, 0x4c
mov byte [ecx + 6], dl
movzx edx, byte [eax + 7]
xor dl, 0xf1
mov byte [ecx + 7], dl
movzx edx, byte [eax + 8]
xor dl, 0x74
mov byte [ecx + 8], dl
movzx edx, byte [eax + 9]
xor dl, 0xde
mov byte [ecx + 9], dl
movzx edx, byte [eax + 0xa]
xor dl, 0x5b
mov byte [ecx + 0xa], dl
movzx edx, byte [eax + 0xb]
xor dl, 0xbc
mov byte [ecx + 0xb], dl
movzx edx, byte [eax + 0xc]
xor dl, 0x6b
mov byte [ecx + 0xc], dl
movzx edx, byte [eax + 0xd]
xor dl, 7
mov byte [ecx + 0xd], dl
movzx edx, byte [eax + 0xe]
xor dl, 0xe6
mov byte [ecx + 0xe], dl
mov ebp, 0x10
add eax, 0x11
add ecx, ebp
sub edi, 1
jne 0x100296a0
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push eax
lea ecx, [esp + 0xe8]
mov byte [esp + 0x109], bl
call fcn.100032e0
mov byte [esp + 0x118], 2
test byte [0x100924b8], 1
jne 0x100297aa
or dword [0x100924b8], 1
mov byte [esp + 0x118], 3
call fcn.10023490
push 0x1007b6f0
call fcn.1005608c
add esp, 4
mov byte [esp + 0x118], 2
push 0x100924bc
mov byte [esp + 0x11c], 1
call fcn.100059b0
mov dword [esi + 0x1e0], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100297e0
sub eax, edi
push eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x1c]
call fcn.100014f0
lea eax, [esi + 4]
push eax
lea edx, [esp + 0x18]
push edx
lea edi, [esp + 0x3c]
mov byte [esp + 0x11c], 4
call fcn.1001c290
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0xac]
mov byte [esp + 0x120], 5
call fcn.10001720
cmp dword [esp + 0x4c], ebp
jb 0x10029841
mov eax, dword [esp + 0x38]
push eax
call fcn.100549f0
add esp, 4
mov edi, 0xf
mov byte [esp + 0x114], 1
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x1002986d
mov ecx, dword [esp + 0x18]
push ecx
call fcn.100549f0
add esp, 4
lea eax, [esp + 0xd8]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10029883
sub eax, edx
push eax
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0x1c]
call fcn.100014f0
lea eax, [esi + 4]
push eax
lea eax, [esp + 0x18]
push eax
lea edi, [esp + 0x3c]
mov byte [esp + 0x11c], 6
call fcn.1001c290
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0xc8]
mov byte [esp + 0x120], 7
call fcn.10001720
cmp dword [esp + 0x4c], ebp
jb 0x100298e7
mov ecx, dword [esp + 0x38]
push ecx
call fcn.100549f0
add esp, 4
mov byte [esp + 0x114], 1
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x10029912
mov edx, dword [esp + 0x18]
push edx
call fcn.100549f0
add esp, 4
push ebx
push 0x10084bea
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.100014f0
lea eax, [esi + 4]
push eax
lea eax, [esp + 0x18]
push eax
lea edi, [esp + 0x3c]
mov byte [esp + 0x11c], 8
call fcn.1001c290
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x100]
mov byte [esp + 0x120], 9
call fcn.10001720
cmp dword [esp + 0x4c], ebp
jb 0x10029978
mov ecx, dword [esp + 0x38]
push ecx
call fcn.100549f0
add esp, 4
mov byte [esp + 0x114], 1
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x100299a3
mov edx, dword [esp + 0x18]
push edx
call fcn.100549f0
add esp, 4
mov byte [esp + 0x70], 0xff
cmp byte [esp + 0x70], 0xff
mov al, 0x1b
mov cl, 0x32
mov byte [esp + 0x71], 0x70
mov byte [esp + 0x72], 0x63
mov byte [esp + 0x73], al
mov byte [esp + 0x74], cl
mov byte [esp + 0x75], 0x79
mov byte [esp + 0x76], 0xf3
mov byte [esp + 0x77], 0xbb
mov byte [esp + 0x78], 0x39
mov byte [esp + 0x79], 0xf1
mov byte [esp + 0x7a], 0x74
mov byte [esp + 0x7b], 0xde
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
jne 0x10029aa9
movzx edx, byte [esp + 0x71]
xor al, 0x44
mov byte [esp + 0x70], dl
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x72], al
mov al, byte [esp + 0x75]
xor al, 0x18
mov byte [esp + 0x74], al
mov al, byte [esp + 0x76]
xor al, 0x9a
mov byte [esp + 0x75], al
mov al, byte [esp + 0x77]
xor al, 0xdf
mov byte [esp + 0x76], al
mov al, byte [esp + 0x78]
xor al, 0x4c
mov byte [esp + 0x77], al
mov al, byte [esp + 0x79]
xor al, 0xf1
mov byte [esp + 0x78], al
mov al, byte [esp + 0x7a]
xor al, 0x74
mov byte [esp + 0x79], al
mov al, byte [esp + 0x7b]
xor al, 0xde
mov byte [esp + 0x7a], al
mov al, byte [esp + 0x7c]
xor al, 0x5b
mov byte [esp + 0x7b], al
mov al, byte [esp + 0x7d]
xor al, 0xbc
mov byte [esp + 0x7c], al
mov al, byte [esp + 0x7e]
xor al, 0x6b
mov byte [esp + 0x7d], al
mov al, byte [esp + 0x7f]
xor al, 7
mov byte [esp + 0x7e], al
mov al, byte [esp + 0x80]
xor cl, 0x50
xor al, 0xe6
mov byte [esp + 0x71], dl
mov byte [esp + 0x73], cl
mov byte [esp + 0x7f], al
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push eax
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], bl
call fcn.100032e0
mov byte [esp + 0x118], 0xa
test byte [0x100924b8], 1
jne 0x10029afb
or dword [0x100924b8], 1
mov byte [esp + 0x118], 0xb
call fcn.10023490
push 0x1007b6f0
call fcn.1005608c
add esp, 4
mov byte [esp + 0x118], 0xa
push 0x100924bc
mov byte [esp + 0x11c], 1
call fcn.100059b0
mov dword [esi + 0x1e8], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10029b30
sub eax, edi
push eax
lea ecx, [esp + 0xd4]
push ecx
lea ecx, [esp + 0x1c]
call fcn.100014f0
lea eax, [esi + 4]
push eax
lea edx, [esp + 0x18]
push edx
lea edi, [esp + 0x3c]
mov byte [esp + 0x11c], 0xc
call fcn.1001c290
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0xe4]
mov byte [esp + 0x120], 0xd
call fcn.10001720
cmp dword [esp + 0x4c], ebp
jb 0x10029b94
mov eax, dword [esp + 0x38]
push eax
call fcn.100549f0
add esp, 4
mov byte [esp + 0x114], 1
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x10029bbf
mov ecx, dword [esp + 0x18]
push ecx
call fcn.100549f0
add esp, 4
lea eax, [esp + 0xd8]
mov byte [esp + 0x70], 0xff
mov byte [esp + 0x71], 0x6d
mov byte [esp + 0x72], 0x5f
mov byte [esp + 0x73], 0x33
mov byte [esp + 0x74], 0x31
mov byte [esp + 0x75], 0x68
mov byte [esp + 0x76], 0xc5
mov byte [esp + 0x77], 0xac
mov byte [esp + 0x78], 0x23
mov byte [esp + 0x79], 0x96
mov byte [esp + 0x7a], 0x1b
mov byte [esp + 0x7b], 0xab
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10029c38
sub eax, edi
push eax
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0x1c]
call fcn.100014f0
lea eax, [esi + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
lea edi, [esp + 0x3c]
mov byte [esp + 0x11c], 0xe
call fcn.1001c290
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x138]
mov byte [esp + 0x120], 0xf
call fcn.10001720
cmp dword [esp + 0x4c], ebp
jb 0x10029c9c
mov ecx, dword [esp + 0x38]
push ecx
call fcn.100549f0
add esp, 4
mov byte [esp + 0x114], 1
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x10029cc7
mov edx, dword [esp + 0x18]
push edx
call fcn.100549f0
add esp, 4
cmp byte [esp + 0x70], 0xff
jne 0x10029d8a
movzx eax, byte [esp + 0x71]
movzx edx, byte [esp + 0x73]
movzx ecx, byte [esp + 0x72]
mov byte [esp + 0x70], al
movzx eax, byte [esp + 0x74]
xor dl, 0x44
xor al, 0x50
mov byte [esp + 0x71], cl
movzx ecx, byte [esp + 0x75]
mov byte [esp + 0x72], dl
movzx edx, byte [esp + 0x76]
mov byte [esp + 0x73], al
movzx eax, byte [esp + 0x77]
xor cl, 0x18
xor dl, 0x9a
xor al, 0xdf
mov byte [esp + 0x74], cl
movzx ecx, byte [esp + 0x78]
mov byte [esp + 0x75], dl
movzx edx, byte [esp + 0x79]
mov byte [esp + 0x76], al
movzx eax, byte [esp + 0x7a]
xor cl, 0x4c
xor dl, 0xf1
xor al, 0x74
mov byte [esp + 0x77], cl
movzx ecx, byte [esp + 0x7b]
mov byte [esp + 0x78], dl
movzx edx, byte [esp + 0x7c]
mov byte [esp + 0x79], al
movzx eax, byte [esp + 0x7d]
xor cl, 0xde
xor dl, 0x5b
xor al, 0xbc
mov byte [esp + 0x7a], cl
movzx ecx, byte [esp + 0x7e]
mov byte [esp + 0x7b], dl
movzx edx, byte [esp + 0x7f]
mov byte [esp + 0x7c], al
movzx eax, byte [esp + 0x80]
xor cl, 0x6b
xor dl, 7
xor al, 0xe6
mov byte [esp + 0x7d], cl
mov byte [esp + 0x7e], dl
mov byte [esp + 0x7f], al
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push ecx
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], bl
call fcn.100032e0
mov byte [esp + 0x118], 0x10
test byte [0x100924b8], 1
jne 0x10029ddc
or dword [0x100924b8], 1
mov byte [esp + 0x118], 0x11
call fcn.10023490
push 0x1007b6f0
call fcn.1005608c
add esp, 4
mov byte [esp + 0x118], 0x10
push 0x100924bc
mov byte [esp + 0x11c], 1
call fcn.100059b0
mov dword [esi + 0x1f4], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edi, [eax + 1]
jmp 0x10029e10
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10029e10
sub eax, edi
push eax
lea edx, [esp + 0x14]
push edx
lea ecx, [esp + 0x1c]
call fcn.100014f0
lea eax, [esi + 0x20]
push eax
lea eax, [esp + 0x18]
push eax
lea edi, [esp + 0x3c]
mov byte [esp + 0x11c], 0x12
call fcn.1001c290
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x154]
mov byte [esp + 0x120], 0x13
call fcn.10001720
cmp dword [esp + 0x4c], ebp
jb 0x10029e71
mov ecx, dword [esp + 0x38]
push ecx
call fcn.100549f0
add esp, 4
mov byte [esp + 0x114], 1
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x10029e9c
mov edx, dword [esp + 0x18]
push edx
call fcn.100549f0
add esp, 4
lea eax, [esp + 0xd0]
mov byte [esp + 0x70], 0xff
mov byte [esp + 0x71], 0x70
mov byte [esp + 0x72], 0x63
mov byte [esp + 0x73], 0x1b
mov byte [esp + 0x74], 0x23
mov byte [esp + 0x75], 0x77
mov byte [esp + 0x76], 0xfd
mov byte [esp + 0x77], 0xb0
mov byte [esp + 0x78], 0x39
mov byte [esp + 0x79], 0xf1
mov byte [esp + 0x7a], 0x74
mov byte [esp + 0x7b], 0xde
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10029f15
sub eax, edi
push eax
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x1c]
call fcn.100014f0
lea eax, [esi + 0x20]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edi, [esp + 0x3c]
mov byte [esp + 0x11c], 0x14
call fcn.1001c290
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x11c]
mov byte [esp + 0x120], 0x15
call fcn.10001720
cmp dword [esp + 0x4c], ebp
jb 0x10029f79
mov edx, dword [esp + 0x38]
push edx
call fcn.100549f0
add esp, 4
mov byte [esp + 0x114], 1
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x10029fa4
mov eax, dword [esp + 0x18]
push eax
call fcn.100549f0
add esp, 4
cmp byte [esp + 0x70], 0xff
jne 0x1002a067
movzx ecx, byte [esp + 0x71]
movzx eax, byte [esp + 0x73]
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x70], cl
movzx ecx, byte [esp + 0x74]
xor al, 0x44
xor cl, 0x50
mov byte [esp + 0x71], dl
movzx edx, byte [esp + 0x75]
mov byte [esp + 0x72], al
movzx eax, byte [esp + 0x76]
mov byte [esp + 0x73], cl
movzx ecx, byte [esp + 0x77]
xor dl, 0x18
xor al, 0x9a
xor cl, 0xdf
mov byte [esp + 0x74], dl
movzx edx, byte [esp + 0x78]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x79]
mov byte [esp + 0x76], cl
movzx ecx, byte [esp + 0x7a]
xor dl, 0x4c
xor al, 0xf1
xor cl, 0x74
mov byte [esp + 0x77], dl
movzx edx, byte [esp + 0x7b]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0x7c]
mov byte [esp + 0x79], cl
movzx ecx, byte [esp + 0x7d]
xor dl, 0xde
xor al, 0x5b
xor cl, 0xbc
mov byte [esp + 0x7a], dl
movzx edx, byte [esp + 0x7e]
mov byte [esp + 0x7b], al
movzx eax, byte [esp + 0x7f]
mov byte [esp + 0x7c], cl
movzx ecx, byte [esp + 0x80]
xor dl, 0x6b
xor al, 7
xor cl, 0xe6
mov byte [esp + 0x7d], dl
mov byte [esp + 0x7e], al
mov byte [esp + 0x7f], cl
push ecx
mov edx, esp
mov dword [esp + 0x34], esp
push edx
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], bl
call fcn.100032e0
mov byte [esp + 0x118], 0x16
test byte [0x100924b8], 1
jne 0x1002a0b9
or dword [0x100924b8], 1
mov byte [esp + 0x118], 0x17
call fcn.10023490
push 0x1007b6f0
call fcn.1005608c
add esp, 4
mov byte [esp + 0x118], 0x16
push 0x100924bc
mov byte [esp + 0x11c], 1
call fcn.100059b0
mov dword [esi + 0x1f0], eax
lea eax, [esp + 0xd0]
mov byte [esp + 0x70], 0xff
mov byte [esp + 0x71], 0x70
mov byte [esp + 0x72], 0x63
mov byte [esp + 0x73], 0x1b
mov byte [esp + 0x74], 0x38
mov byte [esp + 0x75], 0x79
mov byte [esp + 0x76], 0xf5
mov byte [esp + 0x77], 0xee
mov byte [esp + 0x78], 0x7e
mov byte [esp + 0x79], 0xc2
mov byte [esp + 0x7a], 0x74
mov byte [esp + 0x7b], 0xde
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1002a150
sub eax, edi
push eax
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x1c]
call fcn.100014f0
lea eax, [esi + 0x3c]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edi, [esp + 0x3c]
mov byte [esp + 0x11c], 0x18
call fcn.1001c290
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x170]
mov byte [esp + 0x120], 0x19
call fcn.10001720
cmp dword [esp + 0x4c], ebp
jb 0x1002a1b4
mov edx, dword [esp + 0x38]
push edx
call fcn.100549f0
add esp, 4
mov byte [esp + 0x114], 1
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x1002a1df
mov eax, dword [esp + 0x18]
push eax
call fcn.100549f0
add esp, 4
cmp byte [esp + 0x70], 0xff
jne 0x1002a2a2
movzx ecx, byte [esp + 0x71]
movzx eax, byte [esp + 0x73]
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x70], cl
movzx ecx, byte [esp + 0x74]
xor al, 0x44
xor cl, 0x50
mov byte [esp + 0x71], dl
movzx edx, byte [esp + 0x75]
mov byte [esp + 0x72], al
movzx eax, byte [esp + 0x76]
mov byte [esp + 0x73], cl
movzx ecx, byte [esp + 0x77]
xor dl, 0x18
xor al, 0x9a
xor cl, 0xdf
mov byte [esp + 0x74], dl
movzx edx, byte [esp + 0x78]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x79]
mov byte [esp + 0x76], cl
movzx ecx, byte [esp + 0x7a]
xor dl, 0x4c
xor al, 0xf1
xor cl, 0x74
mov byte [esp + 0x77], dl
movzx edx, byte [esp + 0x7b]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0x7c]
mov byte [esp + 0x79], cl
movzx ecx, byte [esp + 0x7d]
xor dl, 0xde
xor al, 0x5b
xor cl, 0xbc
mov byte [esp + 0x7a], dl
movzx edx, byte [esp + 0x7e]
mov byte [esp + 0x7b], al
movzx eax, byte [esp + 0x7f]
mov byte [esp + 0x7c], cl
movzx ecx, byte [esp + 0x80]
xor dl, 0x6b
xor al, 7
xor cl, 0xe6
mov byte [esp + 0x7d], dl
mov byte [esp + 0x7e], al
mov byte [esp + 0x7f], cl
push ecx
mov edx, esp
mov dword [esp + 0x34], esp
push edx
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], bl
call fcn.100032e0
mov byte [esp + 0x118], 0x1a
test byte [0x100924b8], 1
jne 0x1002a2f4
or dword [0x100924b8], 1
mov byte [esp + 0x118], 0x1b
call fcn.10023490
push 0x1007b6f0
call fcn.1005608c
add esp, 4
mov byte [esp + 0x118], 0x1a
push 0x100924bc
mov byte [esp + 0x11c], 1
call fcn.100059b0
mov dword [esi + 0x1fc], eax
lea eax, [esp + 0x10]
mov byte [esp + 0x70], 0xff
mov byte [esp + 0x71], 0x6d
mov byte [esp + 0x72], 0x5f
mov byte [esp + 0x73], 0x71
mov byte [esp + 0x74], 0x68
mov byte [esp + 0x75], 0x47
mov byte [esp + 0x76], 0xee
mov byte [esp + 0x77], 0xbc
mov byte [esp + 0x78], 0x4c
mov byte [esp + 0x79], 0xf1
mov byte [esp + 0x7a], 0x74
mov byte [esp + 0x7b], 0xde
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1002a382
sub eax, edi
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.100014f0
lea eax, [esi + 0x58]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edi, [esp + 0x3c]
mov byte [esp + 0x11c], 0x1c
call fcn.1001c290
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x18c]
mov byte [esp + 0x120], 0x1d
call fcn.10001720
cmp dword [esp + 0x4c], ebp
jb 0x1002a3e3
mov edx, dword [esp + 0x38]
push edx
call fcn.100549f0
add esp, 4
mov byte [esp + 0x114], 1
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x1002a40e
mov eax, dword [esp + 0x18]
push eax
call fcn.100549f0
add esp, 4
cmp byte [esp + 0x70], 0xff
jne 0x1002a4d1
movzx ecx, byte [esp + 0x71]
movzx eax, byte [esp + 0x73]
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x70], cl
movzx ecx, byte [esp + 0x74]
xor al, 0x44
xor cl, 0x50
mov byte [esp + 0x71], dl
movzx edx, byte [esp + 0x75]
mov byte [esp + 0x72], al
movzx eax, byte [esp + 0x76]
mov byte [esp + 0x73], cl
movzx ecx, byte [esp + 0x77]
xor dl, 0x18
xor al, 0x9a
xor cl, 0xdf
mov byte [esp + 0x74], dl
movzx edx, byte [esp + 0x78]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x79]
mov byte [esp + 0x76], cl
movzx ecx, byte [esp + 0x7a]
xor dl, 0x4c
xor al, 0xf1
xor cl, 0x74
mov byte [esp + 0x77], dl
movzx edx, byte [esp + 0x7b]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0x7c]
mov byte [esp + 0x79], cl
movzx ecx, byte [esp + 0x7d]
xor dl, 0xde
xor al, 0x5b
xor cl, 0xbc
mov byte [esp + 0x7a], dl
movzx edx, byte [esp + 0x7e]
mov byte [esp + 0x7b], al
movzx eax, byte [esp + 0x7f]
mov byte [esp + 0x7c], cl
movzx ecx, byte [esp + 0x80]
xor dl, 0x6b
xor al, 7
xor cl, 0xe6
mov byte [esp + 0x7d], dl
mov byte [esp + 0x7e], al
mov byte [esp + 0x7f], cl
push ecx
mov edx, esp
mov dword [esp + 0x34], esp
push edx
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], bl
call fcn.100032e0
mov byte [esp + 0x118], 0x1e
test byte [0x100924b8], 1
jne 0x1002a523
or dword [0x100924b8], 1
mov byte [esp + 0x118], 0x1f
call fcn.10023490
push 0x1007b6f0
call fcn.1005608c
add esp, 4
mov byte [esp + 0x118], 0x1e
push 0x100924bc
mov byte [esp + 0x11c], 1
call fcn.100059b0
mov dword [esi + 0x200], eax
lea eax, [esp + 0x10]
mov byte [esp + 0x70], 0xff
mov byte [esp + 0x71], 0x6d
mov byte [esp + 0x72], 0x5f
mov byte [esp + 0x73], 0x25
mov byte [esp + 0x74], 0x25
mov byte [esp + 0x75], 0x6c
mov byte [esp + 0x76], 0xf5
mov byte [esp + 0x77], 0xb7
mov byte [esp + 0x78], 0x23
mov byte [esp + 0x79], 0x9c
mov byte [esp + 0x7a], 0x11
mov byte [esp + 0x7b], 0xde
mov byte [esp + 0x7c], 0x5b
mov byte [esp + 0x7d], 0xbc
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 7
mov byte [esp + 0x80], 0xe6
mov dword [esp + 0x81], ebx
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1002a5b1
sub eax, edi
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.100014f0
lea eax, [esi + 0x74]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edi, [esp + 0x3c]
mov byte [esp + 0x11c], 0x20
call fcn.1001c290
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x1a8]
mov byte [esp + 0x120], 0x21
call fcn.10001720
cmp dword [esp + 0x4c], ebp
jb 0x1002a612
mov edx, dword [esp + 0x38]
push edx
call fcn.100549f0
add esp, 4
mov byte [esp + 0x114], 1
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
jb 0x1002a63d
mov eax, dword [esp + 0x18]
push eax
call fcn.100549f0
add esp, 4
cmp byte [esp + 0x70], 0xff
jne 0x1002a700
movzx ecx, byte [esp + 0x71]
movzx eax, byte [esp + 0x73]
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x70], cl
movzx ecx, byte [esp + 0x74]
xor al, 0x44
xor cl, 0x50
mov byte [esp + 0x71], dl
movzx edx, byte [esp + 0x75]
mov byte [esp + 0x72], al
movzx eax, byte [esp + 0x76]
mov byte [esp + 0x73], cl
movzx ecx, byte [esp + 0x77]
xor dl, 0x18
xor al, 0x9a
xor cl, 0xdf
mov byte [esp + 0x74], dl
movzx edx, byte [esp + 0x78]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x79]
mov byte [esp + 0x76], cl
movzx ecx, byte [esp + 0x7a]
xor dl, 0x4c
xor al, 0xf1
xor cl, 0x74
mov byte [esp + 0x77], dl
movzx edx, byte [esp + 0x7b]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0x7c]
mov byte [esp + 0x79], cl
movzx ecx, byte [esp + 0x7d]
xor dl, 0xde
xor al, 0x5b
xor cl, 0xbc
mov byte [esp + 0x7a], dl
movzx edx, byte [esp + 0x7e]
mov byte [esp + 0x7b], al
movzx eax, byte [esp + 0x7f]
mov byte [esp + 0x7c], cl
movzx ecx, byte [esp + 0x80]
xor dl, 0x6b
xor al, 7
xor cl, 0xe6
mov byte [esp + 0x7d], dl
mov byte [esp + 0x7e], al
mov byte [esp + 0x7f], cl
push ecx
mov edx, esp
mov dword [esp + 0x34], esp
push edx
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], bl
call fcn.100032e0
mov byte [esp + 0x118], 0x22
test byte [0x100924b8], 1
jne 0x1002a752
or dword [0x100924b8], 1
mov byte [esp + 0x118], 0x23
call fcn.10023490
push 0x1007b6f0
call fcn.1005608c
add esp, 4
mov byte [esp + 0x118], 0x22
push 0x100924bc
mov byte [esp + 0x11c], 1
call fcn.100059b0
push 3
mov edi, 0xf
push 0x10085a10
lea ecx, [esp + 0x3c]
mov dword [esi + 0x204], eax
mov byte [esp + 0x78], 0xff
mov byte [esp + 0x79], 0x6d
mov byte [esp + 0x7a], 0x5f
mov byte [esp + 0x7b], 0x37
mov byte [esp + 0x7c], 0x3d
mov byte [esp + 0x7d], 0x47
mov byte [esp + 0x7e], 0xe9
mov byte [esp + 0x7f], 0xba
mov byte [esp + 0x80], 0x2d
mov byte [esp + 0x81], 0x83
mov byte [esp + 0x82], 0x17
mov byte [esp + 0x83], 0xb6
mov byte [esp + 0x84], 0x5b
mov byte [esp + 0x85], 0xbc
mov byte [esp + 0x86], 0x6b
mov byte [esp + 0x87], 7
mov byte [esp + 0x88], 0xe6
mov dword [esp + 0x89], ebx
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.100014f0
mov byte [esp + 0x114], 0x24
lea eax, [esp + 0x10]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
lea edi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1002a820
sub eax, edi
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.100014f0
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x18]
push edx
lea edi, [esp + 0xe8]
mov byte [esp + 0x11c], 0x25
call fcn.1001c290
lea ecx, [esi + 0x90]
push ecx
push eax
lea edi, [esp + 0x64]
mov byte [esp + 0x124], 0x26
call fcn.1001c290
add esp, 0x10
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 0x1c4]
mov byte [esp + 0x120], 0x27
call fcn.10001720
cmp dword [esp + 0x6c], ebp
jb 0x1002a89e
mov eax, dword [esp + 0x58]
push eax
call fcn.100549f0
add esp, 4
cmp dword [esp + 0xf8], ebp
mov edi, 0xf
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
jb 0x1002a8c8
mov ecx, dword [esp + 0xe4]
push ecx
call fcn.100549f0
add esp, 4
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0xf8], edi
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
jb 0x1002a8f0
mov edx, dword [esp + 0x18]
push edx
call fcn.100549f0
add esp, 4
mov byte [esp + 0x114], 1
cmp dword [esp + 0x4c], ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
jb 0x1002a917
mov eax, dword [esp + 0x38]
push eax
call fcn.100549f0
add esp, 4
cmp byte [esp + 0x70], 0xff
jne 0x1002a9da
movzx ecx, byte [esp + 0x71]
movzx eax, byte [esp + 0x73]
movzx edx, byte [esp + 0x72]
mov byte [esp + 0x70], cl
movzx ecx, byte [esp + 0x74]
xor al, 0x44
xor cl, 0x50
mov byte [esp + 0x71], dl
movzx edx, byte [esp + 0x75]
mov byte [esp + 0x72], al
movzx eax, byte [esp + 0x76]
mov byte [esp + 0x73], cl
movzx ecx, byte [esp + 0x77]
xor dl, 0x18
xor al, 0x9a
xor cl, 0xdf
mov byte [esp + 0x74], dl
movzx edx, byte [esp + 0x78]
mov byte [esp + 0x75], al
movzx eax, byte [esp + 0x79]
mov byte [esp + 0x76], cl
movzx ecx, byte [esp + 0x7a]
xor dl, 0x4c
xor al, 0xf1
xor cl, 0x74
mov byte [esp + 0x77], dl
movzx edx, byte [esp + 0x7b]
mov byte [esp + 0x78], al
movzx eax, byte [esp + 0x7c]
mov byte [esp + 0x79], cl
movzx ecx, byte [esp + 0x7d]
xor dl, 0xde
xor al, 0x5b
xor cl, 0xbc
mov byte [esp + 0x7a], dl
movzx edx, byte [esp + 0x7e]
mov byte [esp + 0x7b], al
movzx eax, byte [esp + 0x7f]
mov byte [esp + 0x7c], cl
movzx ecx, byte [esp + 0x80]
xor dl, 0x6b
xor al, 7
xor cl, 0xe6
mov byte [esp + 0x7d], dl
mov byte [esp + 0x7e], al
mov byte [esp + 0x7f], cl
push ecx
mov edx, esp
mov dword [esp + 0x34], esp
push edx
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], bl
call fcn.100032e0
mov byte [esp + 0x118], 0x28
call fcn.10023640
push eax
mov byte [esp + 0x11c], 1
call fcn.100059b0
mov dword [esi + 0x208], eax
mov eax, dword [esi + 0x1f4]
mov dword [esi + 0x1f8], eax
xor eax, eax
mov dword [esi + 0x20c], eax
mov dword [esi + 0x210], eax
mov cl, 0xf
mov dword [esi + 0x214], eax
mov al, 0x2f
mov dl, 0x84
mov byte [esp + 0xb8], 0xff
cmp byte [esp + 0xb8], 0xff
mov byte [esp + 0xb9], 0x61
mov byte [esp + 0xba], 0x70
mov byte [esp + 0xbb], al
mov byte [esp + 0xbc], cl
mov byte [esp + 0xbd], 0x60
mov byte [esp + 0xbe], 0xf7
mov byte [esp + 0xbf], 0xb3
mov byte [esp + 0xc0], 0x35
mov byte [esp + 0xc1], 0xf1
mov byte [esp + 0xc2], 0x74
mov byte [esp + 0xc3], 0xde
mov byte [esp + 0xc4], 0x5b
mov byte [esp + 0xc5], 0xbc
mov byte [esp + 0xc6], 0x6b
mov byte [esp + 0xc7], 7
mov byte [esp + 0xc8], 0xe6
mov dword [esp + 0xc9], ebx
mov byte [esp + 0x88], 0xff
mov byte [esp + 0x89], 0x61
mov byte [esp + 0x8a], 0x70
mov byte [esp + 0x8b], al
mov byte [esp + 0x8c], cl
mov byte [esp + 0x8d], 0x75
mov byte [esp + 0x8e], 0xff
mov byte [esp + 0x8f], 0xb6
mov byte [esp + 0x90], 0x38
mov byte [esp + 0x91], dl
mov byte [esp + 0x92], 0x15
mov byte [esp + 0x93], 0xb0
mov byte [esp + 0x94], 0x5b
mov byte [esp + 0x95], 0xbc
mov byte [esp + 0x96], 0x6b
mov byte [esp + 0x97], 7
mov byte [esp + 0x98], 0xe6
mov dword [esp + 0x99], ebx
mov byte [esp + 0xa0], 0xff
mov byte [esp + 0xa1], 0x61
mov byte [esp + 0xa2], 0x70
mov byte [esp + 0xa3], al
mov byte [esp + 0xa4], cl
mov byte [esp + 0xa5], 0x7c
mov byte [esp + 0xa6], 0xff
mov byte [esp + 0xa7], 0xb9
mov byte [esp + 0xa8], 0x2d
mov byte [esp + 0xa9], dl
mov byte [esp + 0xaa], 0x18
mov byte [esp + 0xab], 0xaa
mov byte [esp + 0xac], 0x5b
mov byte [esp + 0xad], 0xbc
mov byte [esp + 0xae], 0x6b
mov byte [esp + 0xaf], 7
mov byte [esp + 0xb0], 0xe6
mov dword [esp + 0xb1], ebx
jne 0x1002acdd
movzx edx, byte [esp + 0xb9]
xor al, 0x44
mov byte [esp + 0xb8], dl
movzx edx, byte [esp + 0xba]
mov byte [esp + 0xba], al
mov al, byte [esp + 0xbd]
xor al, 0x18
mov byte [esp + 0xbc], al
mov al, byte [esp + 0xbe]
xor al, 0x9a
mov byte [esp + 0xbd], al
mov al, byte [esp + 0xbf]
xor al, 0xdf
mov byte [esp + 0xbe], al
mov al, byte [esp + 0xc0]
xor al, 0x4c
mov byte [esp + 0xbf], al
mov al, byte [esp + 0xc1]
xor al, 0xf1
mov byte [esp + 0xc0], al
mov al, byte [esp + 0xc2]
xor al, 0x74
mov byte [esp + 0xc1], al
mov al, byte [esp + 0xc3]
xor al, 0xde
mov byte [esp + 0xc2], al
mov al, byte [esp + 0xc4]
xor al, 0x5b
mov byte [esp + 0xc3], al
mov al, byte [esp + 0xc5]
xor al, 0xbc
mov byte [esp + 0xc4], al
mov al, byte [esp + 0xc6]
xor al, 0x6b
mov byte [esp + 0xc5], al
mov al, byte [esp + 0xc7]
xor al, 7
mov byte [esp + 0xc6], al
mov al, byte [esp + 0xc8]
xor cl, 0x50
xor al, 0xe6
mov byte [esp + 0xb9], dl
mov byte [esp + 0xbb], cl
mov byte [esp + 0xc7], al
push ecx
mov eax, esp
mov dword [esp + 0x34], esp
push eax
lea ecx, [esp + 0xc0]
mov byte [esp + 0xd0], bl
call fcn.100032e0
mov byte [esp + 0x118], 0x29
call fcn.10023640
push eax
mov byte [esp + 0x11c], 1
call fcn.100059b0
cmp byte [esp + 0x88], 0xff
mov dword [esi + 0x20c], eax
jne 0x1002ae3c
movzx ecx, byte [esp + 0x89]
movzx eax, byte [esp + 0x8b]
movzx edx, byte [esp + 0x8a]
mov byte [esp + 0x88], cl
movzx ecx, byte [esp + 0x8c]
xor al, 0x44
xor cl, 0x50
mov byte [esp + 0x89], dl
movzx edx, byte [esp + 0x8d]
mov byte [esp + 0x8a], al
movzx eax, byte [esp + 0x8e]
mov byte [esp + 0x8b], cl
movzx ecx, byte [esp + 0x8f]
xor dl, 0x18
xor al, 0x9a
xor cl, 0xdf
mov byte [esp + 0x8c], dl
movzx edx, byte [esp + 0x90]
mov byte [esp + 0x8d], al
movzx eax, byte [esp + 0x91]
mov byte [esp + 0x8e], cl
movzx ecx, byte [esp + 0x92]
xor dl, 0x4c
xor al, 0xf1
xor cl, 0x74
mov byte [esp + 0x8f], dl
movzx edx, byte [esp + 0x93]
mov byte [esp + 0x90], al
movzx eax, byte [esp + 0x94]
mov byte [esp + 0x91], cl
movzx ecx, byte [esp + 0x95]
xor dl, 0xde
xor al, 0x5b
xor cl, 0xbc
mov byte [esp + 0x92], dl
movzx edx, byte [esp + 0x96]
mov byte [esp + 0x93], al
movzx eax, byte [esp + 0x97]
mov byte [esp + 0x94], cl
movzx ecx, byte [esp + 0x98]
xor dl, 0x6b
xor al, 7
xor cl, 0xe6
mov byte [esp + 0x95], dl
mov byte [esp + 0x96], al
mov byte [esp + 0x97], cl
push ecx
mov edx, esp
mov dword [esp + 0x34], esp
push edx
lea ecx, [esp + 0x90]
mov byte [esp + 0xa0], bl
call fcn.100032e0
mov byte [esp + 0x118], 0x2a
call fcn.10023640
push eax
mov byte [esp + 0x11c], 1
call fcn.100059b0
cmp byte [esp + 0xa0], 0xff
mov dword [esi + 0x210], eax
jne 0x1002af9b
movzx eax, byte [esp + 0xa1]
movzx edx, byte [esp + 0xa3]
movzx ecx, byte [esp + 0xa2]
mov byte [esp + 0xa0], al
movzx eax, byte [esp + 0xa4]
xor dl, 0x44
xor al, 0x50
mov byte [esp + 0xa1], cl
movzx ecx, byte [esp + 0xa5]
mov byte [esp + 0xa2], dl
movzx edx, byte [esp + 0xa6]
mov byte [esp + 0xa3], al
movzx eax, byte [esp + 0xa7]
xor cl, 0x18
xor dl, 0x9a
xor al, 0xdf
mov byte [esp + 0xa4], cl
movzx ecx, byte [esp + 0xa8]
mov byte [esp + 0xa5], dl
movzx edx, byte [esp + 0xa9]
mov byte [esp + 0xa6], al
movzx eax, byte [esp + 0xaa]
xor cl, 0x4c
xor dl, 0xf1
xor al, 0x74
mov byte [esp + 0xa7], cl
movzx ecx, byte [esp + 0xab]
mov byte [esp + 0xa8], dl
movzx edx, byte [esp + 0xac]
mov byte [esp + 0xa9], al
movzx eax, byte [esp + 0xad]
xor cl, 0xde
xor dl, 0x5b
xor al, 0xbc
mov byte [esp + 0xaa], cl
movzx ecx, byte [esp + 0xae]
mov byte [esp + 0xab], dl
movzx edx, byte [esp + 0xaf]
mov byte [esp + 0xac], al
movzx eax, byte [esp + 0xb0]
xor cl, 0x6b
xor dl, 7
xor al, 0xe6
mov byte [esp + 0xad], cl
mov byte [esp + 0xae], dl
mov byte [esp + 0xaf], al
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0xb8], bl
call fcn.100032e0
mov byte [esp + 0x118], 0x2b
call fcn.10023640
push eax
mov byte [esp + 0x11c], 1
call fcn.100059b0
mov dword [esi + 0x214], eax
mov eax, esi
mov ecx, dword [esp + 0x10c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0xf8]
xor ecx, esp
call fcn.1005574a
add esp, 0x108
ret