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

Disassembly:
push 0xffffffffffffffff
push 0x47097f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
push ebx
push ebp
mov ebp, ecx
push esi
xor ebx, ebx
push edi
mov eax, dword [ebp]
mov dword [esp + 0x28], ebx
call dword [eax + 4]
mov edx, dword [ebp + 0x208]
lea ecx, [ebp + 0x204]
mov esi, eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x60], esi
push eax
push edx
mov dword [esp + 0x2c], esi
call fcn.00438c90
cmp esi, ebx
mov dword [esp + 0x14], ebx
jle 0x4371e6
mov edx, dword [ebp]
lea eax, [esp + 0x20]
push ebx
push eax
mov ecx, ebp
call dword [edx + 8]
push eax
lea ecx, [esp + 0x14]
mov dword [esp + 0xf4], 0
call fcn.00462b62
lea ecx, [esp + 0x20]
mov byte [esp + 0xf0], 2
call fcn.00462ded
mov esi, dword [esp + 0x10]
mov edi, 0x4a778c
mov ecx, 1
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x436dba
dec dword [esp + 0x24]
jmp 0x4371c1
push ebx
mov ecx, ebp
call fcn.00436b60
test eax, eax
jle 0x43713a
cmp eax, 0x80
jge 0x43713a
cmp eax, 0x3f
je 0x43713a
push eax
call fcn.004488da
mov ecx, dword [ebp + eax*4 + 4]
add esp, 4
test ecx, ecx
je 0x437132
lea eax, [esp + 0x64]
push eax
call fcn.00422b90
mov ecx, eax
call fcn.00422b70
mov ecx, eax
call fcn.00427f29
push eax
lea ecx, [esp + 0x1c]
call fcn.00462e5b
mov ecx, dword [esp + 0x18]
push 0x49cb10
push ecx
mov byte [esp + 0xf8], 3
call fcn.004477dc
add esp, 8
test eax, eax
je 0x436e79
mov edx, dword [esp + 0x18]
push 0x49c880
push edx
call fcn.004477dc
add esp, 8
test eax, eax
je 0x436e79
mov eax, dword [esp + 0x18]
push 0x49c97c
push eax
call fcn.004477dc
add esp, 8
test eax, eax
je 0x436e79
mov ecx, dword [esp + 0x18]
push 0x49c9c4
push ecx
call fcn.004477dc
add esp, 8
test eax, eax
jne 0x4370aa
mov esi, dword [esp + 0x10]
test esi, esi
mov edi, esi
je 0x436ea9
cmp byte [edi], 0
je 0x436ea9
push edi
call fcn.00448a2c
add esp, 4
cmp eax, 0x26
je 0x436f42
push edi
call fcn.00448a15
mov edi, eax
add esp, 4
test edi, edi
jne 0x436e83
or edi, 0xffffffff
mov edx, dword [esp + 0x10]
lea eax, [edi + edx]
push eax
call fcn.00448a15
push eax
call fcn.00448a2c
push eax
call fcn.004488da
add esp, 0xc
cmp eax, 0x26
je 0x436ed6
cmp eax, 0x20
jne 0x436f8d
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x30]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x10]
sub eax, edi
sub eax, 2
push eax
push edx
call fcn.0045c3ff
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xf4], 4
call fcn.00462b62
lea ecx, [esp + 0x30]
mov byte [esp + 0xf0], 6
call fcn.00462ded
mov esi, dword [esp + 0x2c]
test esi, esi
mov ebx, esi
je 0x436f7c
cmp byte [esi], 0
je 0x436f7c
push esi
call fcn.00448a2c
add esp, 4
cmp eax, 0x26
je 0x436f49
push esi
call fcn.00448a15
mov esi, eax
add esp, 4
test esi, esi
jne 0x436f1e
jmp 0x436f7c
sub edi, esi
jmp 0x436eac
sub esi, ebx
cmp esi, 0xffffffff
je 0x436f7c
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax - 8]
dec ecx
cmp esi, ecx
jge 0x436f7c
add eax, esi
push eax
call fcn.00448a15
add esp, 4
test eax, eax
je 0x436f7c
push eax
call fcn.00448a2c
push eax
call fcn.004488da
add esp, 8
mov edi, esi
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf0], 3
call fcn.00462ded
lea ecx, [esp + 0x54]
push edi
push ecx
lea ecx, [esp + 0x18]
call fcn.0045c47b
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xf4], 7
call fcn.00462b62
lea ecx, [esp + 0x54]
mov byte [esp + 0xf0], 9
call fcn.00462ded
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
sub eax, edi
sub eax, 2
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0045c3ff
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0xf4], 0xa
call fcn.00462b62
lea ecx, [esp + 0x4c]
mov byte [esp + 0xf0], 0xc
call fcn.00462ded
lea ecx, [esp + 0x1c]
push 0x4a026c
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.00463082
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x48]
push ecx
push eax
push edx
mov byte [esp + 0xfc], 0xd
call fcn.0046301c
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xf4], 0xe
call fcn.00462b62
lea eax, [esp + 0x38]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0xf4], 0xf
call fcn.00462f26
lea ecx, [esp + 0x38]
mov byte [esp + 0xf0], 0xe
call fcn.00462ded
lea ecx, [esp + 0x48]
mov byte [esp + 0xf0], 0xd
call fcn.00462ded
lea ecx, [esp + 0x50]
mov byte [esp + 0xf0], 0xc
call fcn.00462ded
lea ecx, [esp + 0x3c]
mov byte [esp + 0xf0], 9
call fcn.00462ded
lea ecx, [esp + 0x1c]
mov byte [esp + 0xf0], 3
call fcn.00462ded
mov ebx, dword [esp + 0x14]
push 0
lea ecx, [esp + 0x14]
call fcn.0046321d
mov esi, eax
test esi, esi
je 0x4370fa
cmp byte [esi], 0
je 0x4370fa
push esi
call fcn.00448a2c
add esp, 4
cmp eax, 0x26
jne 0x4370e9
push esi
call fcn.00448a15
add esp, 4
test eax, eax
je 0x4370e9
mov edx, esi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4370df
push 1
push esi
call fcn.00448a95
mov esi, eax
add esp, 8
test esi, esi
jne 0x4370bb
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call fcn.0046326c
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x70], esp
push edx
call fcn.00462b62
mov eax, dword [ebp]
push ebx
mov ecx, ebp
call dword [eax + 0xc]
lea ecx, [esp + 0x18]
mov byte [esp + 0xf0], 2
call fcn.00462ded
jmp 0x43713a
mov dword [ebp + eax*4 + 4], 1
mov edx, dword [ebp]
lea eax, [esp + 0x5c]
push ebx
push eax
mov ecx, ebp
call dword [edx + 8]
mov ecx, dword [eax]
mov esi, dword [ecx - 8]
lea ecx, [esp + 0x5c]
call fcn.00462ded
cmp esi, dword [esp + 0x28]
jle 0x437160
mov dword [esp + 0x28], esi
mov eax, dword [ebp + 0x20c]
lea ecx, [ebp + 0x204]
lea edx, [esp + 0x70]
mov dword [esp + 0x74], esi
push edx
push eax
mov dword [esp + 0x78], ebx
call fcn.00438ac0
mov eax, dword [ebp]
lea ecx, [esp + 0x58]
push ebx
push ecx
mov ecx, ebp
call dword [eax + 8]
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0xf4], 0x10
call fcn.00462b62
lea ecx, [esp + 0x58]
mov byte [esp + 0xf0], 0x12
call fcn.00462ded
lea ecx, [esp + 0x44]
mov byte [esp + 0xf0], 2
call fcn.00462ded
lea ecx, [esp + 0x10]
mov dword [esp + 0xf0], 0xffffffff
call fcn.00462ded
mov eax, dword [esp + 0x60]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jl 0x436d69
lea edx, [esp + 0xe4]
push edx
call fcn.00422b90
mov ecx, eax
call fcn.00422b70
mov ecx, eax
call fcn.00427f29
push eax
lea ecx, [esp + 0x38]
call fcn.00462e5b
mov eax, dword [esp + 0x34]
push 0x49cb10
push eax
mov dword [esp + 0xf8], 0x13
call fcn.004477dc
add esp, 8
test eax, eax
je 0x437507
mov ecx, dword [esp + 0x34]
push 0x49c880
push ecx
call fcn.004477dc
add esp, 8
test eax, eax
je 0x437507
mov edx, dword [esp + 0x34]
push 0x49c97c
push edx
call fcn.004477dc
add esp, 8
test eax, eax
je 0x437507
mov eax, dword [esp + 0x34]
push 0x49c9c4
push eax
call fcn.004477dc
add esp, 8
test eax, eax
je 0x437507
mov edi, dword [ebp + 0x20c]
mov esi, dword [ebp + 0x208]
mov eax, edi
mov dword [esp + 0x1c], edi
sub eax, esi
mov dword [esp + 0x20], esi
sar eax, 3
cmp eax, 0x10
jg 0x4372af
push 0
push edi
push esi
call fcn.00438eb0
add esp, 0xc
jmp 0x437383
mov ecx, dword [edi - 4]
mov edx, dword [edi - 8]
mov eax, edi
push ecx
sub eax, esi
push edx
sar eax, 3
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [esi + eax*8 + 4]
push ecx
mov ecx, dword [esi]
mov edx, dword [esi + eax*8]
mov eax, dword [esi + 4]
push edx
push eax
lea edx, [esp + 0x84]
push ecx
push edx
call fcn.00438f30
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
push edi
push esi
call fcn.00438fa0
mov ebx, eax
mov eax, edi
mov ecx, ebx
sub eax, ebx
sub ecx, esi
add esp, 0x2c
and al, 0xf8
and ecx, 0xfffffff8
cmp eax, ecx
push 0
jg 0x437311
push edi
push ebx
call fcn.00438d90
mov edi, ebx
jmp 0x43731a
push ebx
push esi
call fcn.00438d90
mov esi, ebx
mov edx, edi
add esp, 0xc
sub edx, esi
and edx, 0xfffffff8
cmp edx, 0x80
jg 0x4372af
mov eax, dword [esp + 0x20]
push 0
lea esi, [eax + 0x80]
push esi
push eax
call fcn.00438eb0
mov eax, dword [esp + 0x28]
mov edx, esi
add esp, 0xc
cmp edx, eax
je 0x437383
mov esi, dword [edx + 4]
mov ebx, dword [edx - 4]
mov edi, dword [edx]
cmp esi, ebx
mov ecx, edx
lea eax, [edx - 8]
jge 0x437373
mov ebx, dword [eax]
mov dword [ecx], ebx
mov ebx, dword [eax + 4]
mov dword [ecx + 4], ebx
mov ebx, dword [eax - 4]
mov ecx, eax
sub eax, 8
cmp esi, ebx
jl 0x43735d
mov eax, dword [esp + 0x1c]
add edx, 8
cmp edx, eax
mov dword [ecx], edi
mov dword [ecx + 4], esi
jne 0x43734c
mov edx, dword [esp + 0x28]
xor ebx, ebx
test edx, edx
setg al
test al, al
mov dword [esp + 0x18], ebx
je 0x437fad
mov eax, dword [esp + 0x24]
dec eax
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x20]
test esi, esi
mov dword [esp + 0x1c], esi
jl 0x4374ec
mov ecx, dword [ebp + 0x208]
test ecx, ecx
je 0x4374ec
mov eax, dword [ebp + 0x20c]
sub eax, ecx
sar eax, 3
cmp esi, eax
jae 0x4374ec
mov eax, ecx
mov ecx, ebp
mov edi, dword [eax + esi*8]
push edi
call fcn.00436b60
test eax, eax
jne 0x4374e1
mov edx, dword [ebp]
lea eax, [esp + 0x30]
push edi
push eax
mov ecx, ebp
call dword [edx + 8]
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xf4], 0x4f
call fcn.00462b62
lea ecx, [esp + 0x30]
mov byte [esp + 0xf0], 0x51
call fcn.00462ded
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00448a4a
add esp, 4
cmp ebx, eax
jge 0x4374c8
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
push eax
call fcn.00448a95
add esp, 8
test eax, eax
je 0x437455
push eax
call fcn.00448a2c
add esp, 4
cmp eax, 0x80
jge 0x4374c8
push eax
call fcn.004488da
mov esi, eax
add esp, 4
cmp esi, 0x2f
jle 0x43746a
cmp esi, 0x3a
jl 0x437474
cmp esi, 0x40
jle 0x4374c8
cmp esi, 0x5b
jge 0x4374c8
mov eax, dword [ebp + esi*4 + 4]
test eax, eax
jne 0x4374c8
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
push eax
mov ebx, eax
call fcn.00448a95
add esp, 8
test eax, eax
je 0x4374a2
sub eax, ebx
push 0x26
push eax
lea ecx, [esp + 0x1c]
call fcn.0045c271
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x68], esp
push edx
call fcn.00462b62
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0xc]
test al, al
je 0x4374c8
mov dword [ebp + esi*4 + 4], 1
lea ecx, [esp + 0x14]
mov byte [esp + 0xf0], 0x13
call fcn.00462ded
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
dec esi
mov dword [esp + 0x1c], esi
jns 0x4373b3
mov edx, dword [esp + 0x28]
inc ebx
cmp ebx, edx
mov dword [esp + 0x18], ebx
setl al
test al, al
jne 0x4373a3
jmp 0x437fad
mov eax, dword [esp + 0x60]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x14], ebx
jle 0x437fad
mov edx, dword [ebp]
lea eax, [esp + 0xcc]
push ebx
push eax
mov ecx, ebp
call dword [edx + 8]
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xf4], 0x14
call fcn.00462b62
lea ecx, [esp + 0xcc]
mov byte [esp + 0xf0], 0x16
call fcn.00462ded
mov esi, dword [esp + 0x10]
mov edi, 0x4a778c
mov ecx, 1
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x43757a
lea ecx, [esp + 0x10]
mov byte [esp + 0xf0], 0x13
call fcn.00462ded
jmp 0x437f9c
mov eax, dword [esp + 0x14]
mov ecx, ebp
push eax
call fcn.00436b60
push eax
call fcn.004488da
mov ebx, eax
add esp, 4
cmp ebx, 0x2f
jle 0x43759b
cmp ebx, 0x3a
jl 0x4375ad
cmp ebx, 0x40
jle 0x437816
cmp ebx, 0x5b
jge 0x437816
mov esi, dword [esp + 0x10]
test esi, esi
mov edi, esi
je 0x4375d9
cmp byte [esi], 0
je 0x4375d9
push esi
call fcn.00448a2c
add esp, 4
cmp eax, 0x26
je 0x4375e1
push esi
call fcn.00448a15
mov esi, eax
add esp, 4
test esi, esi
jne 0x4375b7
or esi, 0xffffffff
jmp 0x4376cb
sub esi, edi
cmp esi, 0xffffffff
je 0x4376cb
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
dec ecx
cmp esi, ecx
jge 0x4376cb
lea ecx, [esi + eax]
push ecx
call fcn.00448a15
add esp, 4
test eax, eax
je 0x4376cb
push eax
call fcn.00448a2c
push eax
call fcn.004488da
mov ebx, eax
add esp, 8
cmp ebx, 0x26
je 0x43762f
cmp ebx, 0x20
jne 0x4376cb
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
sub eax, esi
sub eax, 2
push eax
lea eax, [esp + 0x84]
push eax
call fcn.0045c3ff
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xf4], 0x17
call fcn.00462b62
lea ecx, [esp + 0x80]
mov byte [esp + 0xf0], 0x19
call fcn.00462ded
mov edi, dword [esp + 0x24]
test edi, edi
mov dword [esp + 0x40], edi
je 0x4376ba
cmp byte [edi], 0
je 0x4376ba
push edi
call fcn.00448a2c
add esp, 4
cmp eax, 0x26
je 0x4376a3
push edi
call fcn.00448a15
mov edi, eax
add esp, 4
test edi, edi
jne 0x43767f
jmp 0x4376ba
sub edi, dword [esp + 0x40]
cmp edi, 0xffffffff
je 0x4376ba
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx - 8]
dec eax
cmp edi, eax
jge 0x4376ba
mov esi, edi
lea ecx, [esp + 0x24]
mov byte [esp + 0xf0], 0x16
call fcn.00462ded
lea edx, [esi + 1]
lea eax, [esp + 0xd4]
push edx
push eax
lea ecx, [esp + 0x18]
call fcn.0045c47b
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xf4], 0x1a
call fcn.00462b62
lea ecx, [esp + 0xd4]
mov byte [esp + 0xf0], 0x1c
call fcn.00462ded
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xdc]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x10]
sub eax, esi
sub eax, 2
push eax
push edx
call fcn.0045c3ff
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0xf4], 0x1d
call fcn.00462b62
lea ecx, [esp + 0xdc]
mov byte [esp + 0xf0], 0x1f
call fcn.00462ded
lea eax, [esp + 0x38]
push ebx
lea ecx, [esp + 0xdc]
push eax
push ecx
call fcn.0045c1b7
lea edx, [esp + 0x3c]
mov byte [esp + 0xf0], 0x20
push edx
push eax
lea eax, [esp + 0x80]
push eax
call fcn.0046301c
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xf4], 0x21
call fcn.00462b62
lea ecx, [esp + 0x1c]
mov byte [esp + 0xf0], 0x22
push ecx
lea ecx, [esp + 0x14]
call fcn.00462f26
lea ecx, [esp + 0x1c]
mov byte [esp + 0xf0], 0x21
call fcn.00462ded
lea ecx, [esp + 0x78]
mov byte [esp + 0xf0], 0x20
call fcn.00462ded
lea ecx, [esp + 0xd8]
mov byte [esp + 0xf0], 0x1f
call fcn.00462ded
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00462b62
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 0xc]
mov dword [ebp + ebx*4 + 4], 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0xf0], 0x1c
call fcn.00462ded
lea ecx, [esp + 0x38]
jmp 0x437f7a
mov ecx, ebp
call fcn.00437fe0
mov edi, eax
test edi, edi
je 0x437e1c
mov eax, dword [esp + 0x10]
test eax, eax
mov ebx, eax
mov esi, eax
je 0x437859
cmp byte [esi], 0
je 0x437859
push esi
call fcn.00448a2c
add esp, 4
cmp eax, 0x7e
je 0x437894
push esi
call fcn.00448a15
mov esi, eax
mov eax, dword [esp + 0x14]
add esp, 4
test esi, esi
jne 0x437833
test eax, eax
mov ebx, eax
mov esi, eax
je 0x437b91
cmp byte [esi], 0
je 0x437b91
push esi
call fcn.00448a2c
add esp, 4
cmp eax, 0x3a
je 0x4379f9
push esi
call fcn.00448a15
mov esi, eax
add esp, 4
test esi, esi
jne 0x437865
jmp 0x437b91
mov eax, dword [esp + 0x10]
sub esi, ebx
cmp esi, 0xffffffff
je 0x437859
mov ecx, dword [eax - 8]
dec ecx
cmp esi, ecx
jge 0x437859
lea edx, [esp + 0x88]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.0045c47b
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xf4], 0x23
call fcn.00462b62
lea ecx, [esp + 0x88]
mov byte [esp + 0xf0], 0x25
call fcn.00462ded
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xb8]
mov eax, dword [eax - 8]
sub eax, esi
dec eax
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0045c3ff
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], 0x26
call fcn.00462b62
lea ecx, [esp + 0xb8]
mov byte [esp + 0xf0], 0x28
call fcn.00462ded
lea edx, [esp + 0x18]
push 0x4a0268
lea eax, [esp + 0x9c]
push edx
push eax
call fcn.00463082
push edi
lea ecx, [esp + 0xd4]
push eax
push ecx
mov byte [esp + 0xfc], 0x29
call fcn.0045c1b7
lea edx, [esp + 0x28]
mov byte [esp + 0xf0], 0x2a
push edx
push eax
lea eax, [esp + 0x98]
push eax
call fcn.0046301c
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xf4], 0x2b
call fcn.00462b62
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf0], 0x2c
push ecx
lea ecx, [esp + 0x14]
call fcn.00462f26
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf0], 0x2b
call fcn.00462ded
lea ecx, [esp + 0x90]
mov byte [esp + 0xf0], 0x2a
call fcn.00462ded
lea ecx, [esp + 0xd0]
mov byte [esp + 0xf0], 0x29
call fcn.00462ded
lea ecx, [esp + 0x98]
mov byte [esp + 0xf0], 0x28
call fcn.00462ded
lea ecx, [esp + 0x28]
mov byte [esp + 0xf0], 0x25
call fcn.00462ded
lea ecx, [esp + 0x18]
jmp 0x437de4
sub esi, ebx
cmp esi, 0xffffffff
je 0x437b91
mov edx, dword [esp + 0x10]
cmp esi, dword [edx - 8]
jge 0x437b91
lea eax, [esp + 0xc0]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.0045c47b
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0xf4], 0x2d
call fcn.00462b62
lea ecx, [esp + 0xc0]
mov byte [esp + 0xf0], 0x2f
call fcn.00462ded
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xa0]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x10]
sub eax, esi
push eax
push edx
call fcn.0045c3ff
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0xf4], 0x30
call fcn.00462b62
lea ecx, [esp + 0xa0]
mov byte [esp + 0xf0], 0x32
call fcn.00462ded
lea eax, [esp + 0x58]
push 0x4a0264
lea ecx, [esp + 0xb4]
push eax
push ecx
call fcn.00463082
push edi
lea edx, [esp + 0xcc]
push eax
push edx
mov byte [esp + 0xfc], 0x33
call fcn.0045c1b7
push 0x4a0260
push eax
lea eax, [esp + 0xb0]
mov byte [esp + 0xf8], 0x34
push eax
call fcn.00463082
lea ecx, [esp + 0x44]
lea edx, [esp + 0xe0]
push ecx
push eax
push edx
mov byte [esp + 0xfc], 0x35
call fcn.0046301c
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0xf4], 0x36
call fcn.00462b62
lea eax, [esp + 0x68]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0xf4], 0x37
call fcn.00462f26
lea ecx, [esp + 0x68]
mov byte [esp + 0xf0], 0x36
call fcn.00462ded
lea ecx, [esp + 0xe0]
mov byte [esp + 0xf0], 0x35
call fcn.00462ded
lea ecx, [esp + 0xa8]
mov byte [esp + 0xf0], 0x34
call fcn.00462ded
lea ecx, [esp + 0xc8]
mov byte [esp + 0xf0], 0x33
call fcn.00462ded
lea ecx, [esp + 0xb0]
mov byte [esp + 0xf0], 0x32
call fcn.00462ded
lea ecx, [esp + 0x44]
mov byte [esp + 0xf0], 0x2f
call fcn.00462ded
lea ecx, [esp + 0x58]
jmp 0x437de4
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x44], esp
mov ecx, esp
push edx
call fcn.00462b62
lea eax, [esp + 0x74]
mov ecx, ebp
push eax
call fcn.00438020
mov esi, dword [eax]
cmp esi, 0xffffffff
je 0x437d33
lea ecx, [esp + 0x7c]
push esi
push ecx
lea ecx, [esp + 0x18]
call fcn.0045c47b
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0xf4], 0x38
call fcn.00462b62
lea ecx, [esp + 0x7c]
mov byte [esp + 0xf0], 0x3a
call fcn.00462ded
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
sub eax, esi
push eax
lea eax, [esp + 0x88]
push eax
call fcn.0045c3ff
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0xf4], 0x3b
call fcn.00462b62
lea ecx, [esp + 0x84]
mov byte [esp + 0xf0], 0x3d
call fcn.00462ded
lea ecx, [esp + 0x48]
push 0x4a0264
lea edx, [esp + 0xa8]
push ecx
push edx
call fcn.00463082
push edi
push eax
lea eax, [esp + 0xa4]
mov byte [esp + 0xf8], 0x3e
push eax
call fcn.0045c1b7
push 0x4a0260
lea ecx, [esp + 0x98]
push eax
push ecx
mov byte [esp + 0xfc], 0x3f
call fcn.00463082
lea edx, [esp + 0x50]
mov byte [esp + 0xf0], 0x40
push edx
push eax
lea eax, [esp + 0x94]
push eax
call fcn.0046301c
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0xf4], 0x41
call fcn.00462b62
lea ecx, [esp + 0x5c]
mov byte [esp + 0xf0], 0x42
push ecx
lea ecx, [esp + 0x14]
call fcn.00462f26
lea ecx, [esp + 0x5c]
mov byte [esp + 0xf0], 0x41
call fcn.00462ded
lea ecx, [esp + 0x8c]
mov byte [esp + 0xf0], 0x40
call fcn.00462ded
lea ecx, [esp + 0x94]
mov byte [esp + 0xf0], 0x3f
call fcn.00462ded
lea ecx, [esp + 0x9c]
mov byte [esp + 0xf0], 0x3e
call fcn.00462ded
lea ecx, [esp + 0xa4]
mov byte [esp + 0xf0], 0x3d
call fcn.00462ded
lea ecx, [esp + 0x50]
mov byte [esp + 0xf0], 0x3a
call fcn.00462ded
lea ecx, [esp + 0x48]
jmp 0x437de4
lea edx, [esp + 0x10]
push 0x4a0264
lea eax, [esp + 0xc0]
push edx
push eax
call fcn.00463082
push edi
lea ecx, [esp + 0xb8]
push eax
push ecx
mov byte [esp + 0xfc], 0x43
call fcn.0045c1b7
push 0x4a0260
lea edx, [esp + 0xb0]
push eax
push edx
mov byte [esp + 0xfc], 0x44
call fcn.00463082
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0xf4], 0x45
call fcn.00462b62
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0xf4], 0x46
call fcn.00462f26
lea ecx, [esp + 0x4c]
mov byte [esp + 0xf0], 0x45
call fcn.00462ded
lea ecx, [esp + 0xac]
mov byte [esp + 0xf0], 0x44
call fcn.00462ded
lea ecx, [esp + 0xb4]
mov byte [esp + 0xf0], 0x43
call fcn.00462ded
lea ecx, [esp + 0xbc]
mov byte [esp + 0xf0], 0x16
call fcn.00462ded
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00462b62
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 0xc]
mov dword [ebp + edi*4 + 4], 1
jmp 0x437f87
mov esi, dword [esp + 0x10]
test esi, esi
mov edi, esi
je 0x437f87
cmp byte [esi], 0
je 0x437f87
push esi
call fcn.00448a2c
add esp, 4
cmp eax, 0x7e
je 0x437e55
push esi
call fcn.00448a15
mov esi, eax
add esp, 4
test esi, esi
jne 0x437e2a
jmp 0x437f87
sub esi, edi
cmp esi, 0xffffffff
je 0x437f87
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
dec eax
cmp esi, eax
jge 0x437f87
lea eax, [esi - 2]
lea ecx, [esp + 0xc4]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0045c47b
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 0x47
call fcn.00462b62
lea ecx, [esp + 0xc4]
mov byte [esp + 0xf0], 0x49
call fcn.00462ded
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
sub eax, esi
sub eax, 2
push eax
lea eax, [esp + 0x70]
push eax
call fcn.0045c3ff
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 0x4a
call fcn.00462b62
lea ecx, [esp + 0x6c]
mov byte [esp + 0xf0], 0x4c
call fcn.00462ded
lea ecx, [esp + 0x30]
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x68]
push edx
push eax
call fcn.0046301c
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0xf4], 0x4d
call fcn.00462b62
lea ecx, [esp + 0x54]
mov byte [esp + 0xf0], 0x4e
push ecx
lea ecx, [esp + 0x14]
call fcn.00462f26
lea ecx, [esp + 0x54]
mov byte [esp + 0xf0], 0x4d
call fcn.00462ded
lea ecx, [esp + 0x64]
mov byte [esp + 0xf0], 0x4c
call fcn.00462ded
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.00462b62
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 0xc]
lea ecx, [esp + 0x30]
mov byte [esp + 0xf0], 0x49
call fcn.00462ded
lea ecx, [esp + 0x20]
mov byte [esp + 0xf0], 0x16
call fcn.00462ded
lea ecx, [esp + 0x10]
mov byte [esp + 0xf0], 0x13
call fcn.00462ded
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
inc ebx
cmp ebx, eax
mov dword [esp + 0x14], ebx
jl 0x437519
lea ecx, [esp + 0x34]
mov dword [esp + 0xf0], 0xffffffff
call fcn.00462ded
mov ecx, dword [esp + 0xe8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xe4
ret
mov eax, dword [0x4a7a88]
push esi
test eax, eax
mov esi, ecx
jne 0x4380c9
call fcn.00438690
mov ecx, esi
pop esi
jmp 0x436d10
pop esi
ret