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

Disassembly:
push 0xffffffffffffffff
push 0x46eb2c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
push ebx
mov ebx, ecx
push ebp
push esi
mov eax, dword [ebx]
push edi
mov dword [esp + 0x24], 0
call dword [eax + 4]
mov edx, dword [ebx + 0x208]
lea ecx, [ebx + 0x204]
mov esi, eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x50], esi
push eax
push edx
mov dword [esp + 0x28], esi
call fcn.00422c10
xor eax, eax
test esi, esi
mov dword [esp + 0x14], eax
jle 0x420d1c
mov edx, dword [ebx]
push eax
lea eax, [esp + 0x30]
mov ecx, ebx
push eax
call dword [edx + 8]
push eax
lea ecx, [esp + 0x14]
mov dword [esp + 0xf4], 0
call fcn.0045d045
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf0], 2
call fcn.0045d2d0
mov eax, dword [esp + 0x10]
mov esi, 0x498b28
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4208bc
test cl, cl
je 0x4208b8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4208bc
add eax, 2
add esi, 2
test cl, cl
jne 0x420898
xor eax, eax
jmp 0x4208c1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4208ce
dec dword [esp + 0x20]
jmp 0x420cf3
mov eax, dword [esp + 0x14]
mov ecx, ebx
push eax
call fcn.00420640
test eax, eax
jle 0x420c62
cmp eax, 0x80
jge 0x420c62
cmp eax, 0x3f
je 0x420c62
push eax
call fcn.00430f62
mov ecx, dword [ebx + eax*4 + 4]
add esp, 4
test ecx, ecx
je 0x420c5a
lea ecx, [esp + 0x60]
push ecx
call fcn.0040e330
mov ecx, eax
call fcn.0040e310
mov ecx, eax
call fcn.0042b931
push eax
lea ecx, [esp + 0x1c]
call fcn.0045d33e
mov edx, dword [esp + 0x18]
push 0x48f6d0
push edx
mov byte [esp + 0xf8], 3
call fcn.0042fd31
add esp, 8
test eax, eax
je 0x420991
mov eax, dword [esp + 0x18]
push 0x48f6cc
push eax
call fcn.0042fd31
add esp, 8
test eax, eax
je 0x420991
mov ecx, dword [esp + 0x18]
push 0x48f6c8
push ecx
call fcn.0042fd31
add esp, 8
test eax, eax
je 0x420991
mov edx, dword [esp + 0x18]
push 0x48f6c4
push edx
call fcn.0042fd31
add esp, 8
test eax, eax
jne 0x420bbd
mov esi, dword [esp + 0x10]
test esi, esi
mov edi, esi
je 0x4209c1
cmp byte [edi], 0
je 0x4209c1
push edi
call fcn.0043109d
add esp, 4
cmp eax, 0x26
je 0x420a59
push edi
call fcn.0042f59c
mov edi, eax
add esp, 4
test edi, edi
jne 0x42099b
or edi, 0xffffffff
mov eax, dword [esp + 0x10]
add eax, edi
push eax
call fcn.0042f59c
push eax
call fcn.0043109d
push eax
call fcn.00430f62
add esp, 0xc
cmp eax, 0x26
je 0x4209ed
cmp eax, 0x20
jne 0x420aa4
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.004538ff
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], 4
call fcn.0045d045
lea ecx, [esp + 0x30]
mov byte [esp + 0xf0], 6
call fcn.0045d2d0
mov esi, dword [esp + 0x28]
test esi, esi
mov ebp, esi
je 0x420a93
cmp byte [esi], 0
je 0x420a93
push esi
call fcn.0043109d
add esp, 4
cmp eax, 0x26
je 0x420a60
push esi
call fcn.0042f59c
mov esi, eax
add esp, 4
test esi, esi
jne 0x420a35
jmp 0x420a93
sub edi, esi
jmp 0x4209c4
sub esi, ebp
cmp esi, 0xffffffff
je 0x420a93
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 8]
dec ecx
cmp esi, ecx
jge 0x420a93
add eax, esi
push eax
call fcn.0042f59c
add esp, 4
test eax, eax
je 0x420a93
push eax
call fcn.0043109d
push eax
call fcn.00430f62
add esp, 8
mov edi, esi
lea ecx, [esp + 0x28]
mov byte [esp + 0xf0], 3
call fcn.0045d2d0
lea eax, [esp + 0x5c]
push edi
push eax
lea ecx, [esp + 0x18]
call fcn.0045397b
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xf4], 7
call fcn.0045d045
lea ecx, [esp + 0x5c]
mov byte [esp + 0xf0], 9
call fcn.0045d2d0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x54]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x10]
sub eax, edi
sub eax, 2
push eax
push edx
call fcn.004538ff
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0xf4], 0xa
call fcn.0045d045
lea ecx, [esp + 0x54]
mov byte [esp + 0xf0], 0xc
call fcn.0045d2d0
lea eax, [esp + 0x1c]
push 0x48f6c0
lea ecx, [esp + 0x50]
push eax
push ecx
call fcn.0045d565
lea edx, [esp + 0x34]
mov byte [esp + 0xf0], 0xd
push edx
push eax
lea eax, [esp + 0x60]
push eax
call fcn.0045d4ff
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xf4], 0xe
call fcn.0045d045
lea ecx, [esp + 0x38]
mov byte [esp + 0xf0], 0xf
push ecx
lea ecx, [esp + 0x14]
call fcn.0045d409
lea ecx, [esp + 0x38]
mov byte [esp + 0xf0], 0xe
call fcn.0045d2d0
lea ecx, [esp + 0x58]
mov byte [esp + 0xf0], 0xd
call fcn.0045d2d0
lea ecx, [esp + 0x4c]
mov byte [esp + 0xf0], 0xc
call fcn.0045d2d0
lea ecx, [esp + 0x34]
mov byte [esp + 0xf0], 9
call fcn.0045d2d0
lea ecx, [esp + 0x1c]
mov byte [esp + 0xf0], 3
call fcn.0045d2d0
push 0
lea ecx, [esp + 0x14]
call fcn.0045d700
mov ebp, eax
test ebp, ebp
je 0x420c1f
cmp byte [ebp], 0
je 0x420c1f
push ebp
call fcn.0043109d
add esp, 4
cmp eax, 0x26
jne 0x420c0e
push ebp
call fcn.0042f59c
add esp, 4
test eax, eax
je 0x420c0e
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
push ebp
call fcn.00431106
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x420bce
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call fcn.0045d74f
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x74], esp
push eax
call fcn.0045d045
mov eax, dword [esp + 0x18]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0xc]
lea ecx, [esp + 0x18]
mov byte [esp + 0xf0], 2
call fcn.0045d2d0
jmp 0x420c62
mov dword [ebx + eax*4 + 4], 1
mov edi, dword [esp + 0x14]
mov edx, dword [ebx]
lea eax, [esp + 0x64]
push edi
push eax
mov ecx, ebx
call dword [edx + 8]
mov ecx, dword [eax]
mov esi, dword [ecx - 8]
lea ecx, [esp + 0x64]
call fcn.0045d2d0
cmp esi, dword [esp + 0x24]
jle 0x420c8b
mov dword [esp + 0x24], esi
lea edx, [esp + 0x68]
mov dword [esp + 0x6c], esi
test edx, edx
mov dword [esp + 0x68], edi
je 0x420cb2
mov eax, dword [ebx + 0x20c]
lea ecx, [ebx + 0x204]
lea edx, [esp + 0x68]
push edx
push eax
call fcn.00422a40
mov eax, dword [ebx]
lea ecx, [esp + 0x44]
push edi
push ecx
mov ecx, ebx
call dword [eax + 8]
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0xf4], 0x10
call fcn.0045d045
lea ecx, [esp + 0x44]
mov byte [esp + 0xf0], 0x12
call fcn.0045d2d0
lea ecx, [esp + 0x48]
mov byte [esp + 0xf0], 2
call fcn.0045d2d0
lea ecx, [esp + 0x10]
mov dword [esp + 0xf0], 0xffffffff
call fcn.0045d2d0
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x50]
inc eax
cmp eax, esi
mov dword [esp + 0x14], eax
jl 0x42085c
lea edx, [esp + 0xe4]
push edx
call fcn.0040e330
mov ecx, eax
call fcn.0040e310
mov ecx, eax
call fcn.0042b931
push eax
lea ecx, [esp + 0x40]
call fcn.0045d33e
mov eax, dword [esp + 0x3c]
push 0x48f6d0
push eax
mov dword [esp + 0xf8], 0x13
call fcn.0042fd31
add esp, 8
test eax, eax
je 0x421031
mov ecx, dword [esp + 0x3c]
push 0x48f6cc
push ecx
call fcn.0042fd31
add esp, 8
test eax, eax
je 0x421031
mov edx, dword [esp + 0x3c]
push 0x48f6c8
push edx
call fcn.0042fd31
add esp, 8
test eax, eax
je 0x421031
mov eax, dword [esp + 0x3c]
push 0x48f6c4
push eax
call fcn.0042fd31
add esp, 8
test eax, eax
je 0x421031
mov edi, dword [ebx + 0x20c]
mov esi, dword [ebx + 0x208]
mov eax, edi
mov dword [esp + 0x2c], edi
sub eax, esi
mov dword [esp + 0x50], esi
and al, 0xf8
cmp eax, 0x80
jg 0x420de6
push 0
push edi
push esi
call fcn.00422e60
add esp, 0xc
jmp 0x420ebe
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 + 0x7c]
push ecx
push edx
call fcn.00422ee0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
push edi
push esi
call fcn.00422f50
mov ebp, eax
mov eax, edi
mov ecx, ebp
sub eax, ebp
sub ecx, esi
add esp, 0x2c
and al, 0xf8
and ecx, 0xfffffff8
cmp eax, ecx
push 0
jg 0x420e48
push edi
push ebp
call fcn.00422d20
add esp, 0xc
mov edi, ebp
jmp 0x420e54
push ebp
push esi
call fcn.00422d20
add esp, 0xc
mov esi, ebp
mov edx, edi
sub edx, esi
and edx, 0xfffffff8
cmp edx, 0x80
jg 0x420de6
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x2c]
push 0
lea ebp, [esi + 0x80]
push ebp
push esi
call fcn.00422e60
mov edx, ebp
add esp, 0xc
cmp edx, edi
je 0x420ebe
mov eax, dword [edx]
mov esi, dword [edx + 4]
mov ebp, dword [edx - 4]
mov dword [esp + 0x68], eax
cmp esi, ebp
mov ecx, edx
lea eax, [edx - 8]
jge 0x420eae
mov ebp, dword [eax]
mov dword [ecx], ebp
mov ebp, dword [eax + 4]
mov dword [ecx + 4], ebp
mov ebp, dword [eax - 4]
mov ecx, eax
sub eax, 8
cmp esi, ebp
jl 0x420e98
mov eax, dword [esp + 0x68]
add edx, 8
mov dword [ecx], eax
cmp edx, edi
mov dword [ecx + 4], esi
jne 0x420e83
mov dword [esp + 0x18], 0
push ecx
mov ecx, dword [esp + 0x28]
mov eax, esp
mov dword [esp + 0x64], esp
mov dword [eax], ecx
lea ecx, [esp + 0x1c]
call fcn.00421b30
test al, al
je 0x421afb
mov edx, dword [esp + 0x20]
lea esi, [edx - 1]
test esi, esi
mov dword [esp + 0x1c], esi
jl 0x421028
mov eax, dword [ebx + 0x208]
test eax, eax
je 0x421028
mov ecx, dword [ebx + 0x20c]
sub ecx, eax
sar ecx, 3
cmp esi, ecx
jae 0x421028
mov edi, dword [eax + esi*8]
mov ecx, ebx
push edi
call fcn.00420640
test eax, eax
jne 0x42101d
mov edx, dword [ebx]
lea eax, [esp + 0x30]
push edi
push eax
mov ecx, ebx
call dword [edx + 8]
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xf4], 0x4f
call fcn.0045d045
lea ecx, [esp + 0x30]
mov byte [esp + 0xf0], 0x51
call fcn.0045d2d0
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004310bb
mov ecx, dword [esp + 0x1c]
add esp, 4
cmp ecx, eax
jge 0x421008
mov edx, dword [esp + 0x14]
push ecx
push edx
call fcn.00431106
add esp, 8
test eax, eax
je 0x420f96
push eax
call fcn.0043109d
add esp, 4
cmp eax, 0x80
jge 0x421008
push eax
call fcn.00430f62
mov esi, eax
add esp, 4
cmp esi, 0x2f
jle 0x420fab
cmp esi, 0x3a
jl 0x420fb5
cmp esi, 0x40
jle 0x421008
cmp esi, 0x5b
jge 0x421008
mov eax, dword [ebx + esi*4 + 4]
test eax, eax
jne 0x421008
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
push eax
mov ebp, eax
call fcn.00431106
add esp, 8
test eax, eax
je 0x420fe3
sub eax, ebp
push 0x26
push eax
lea ecx, [esp + 0x1c]
call fcn.0045351c
push ecx
lea edx, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x64], esp
push edx
call fcn.0045d045
mov eax, dword [ebx]
push edi
mov ecx, ebx
call dword [eax + 0xc]
test al, al
je 0x421008
mov dword [ebx + esi*4 + 4], 1
lea ecx, [esp + 0x14]
mov byte [esp + 0xf0], 0x13
call fcn.0045d2d0
mov esi, dword [esp + 0x1c]
dec esi
mov dword [esp + 0x1c], esi
jns 0x420ef7
inc dword [esp + 0x18]
jmp 0x420ec6
xor eax, eax
test esi, esi
mov dword [esp + 0x14], eax
jle 0x421afb
mov edx, dword [ebx]
push eax
lea eax, [esp + 0xd0]
mov ecx, ebx
push eax
call dword [edx + 8]
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xf4], 0x14
call fcn.0045d045
lea ecx, [esp + 0xcc]
mov byte [esp + 0xf0], 0x16
call fcn.0045d2d0
mov eax, dword [esp + 0x10]
mov esi, 0x498b28
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4210a2
test cl, cl
je 0x42109e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4210a2
add eax, 2
add esi, 2
test cl, cl
jne 0x42107e
xor eax, eax
jmp 0x4210a7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x421ad5
mov eax, dword [esp + 0x14]
mov ecx, ebx
push eax
call fcn.00420640
push eax
call fcn.00430f62
mov ebp, eax
add esp, 4
cmp ebp, 0x2f
jle 0x4210d0
cmp ebp, 0x3a
jl 0x4210e2
cmp ebp, 0x40
jle 0x42134e
cmp ebp, 0x5b
jge 0x42134e
mov esi, dword [esp + 0x10]
test esi, esi
mov edi, esi
je 0x42110e
cmp byte [esi], 0
je 0x42110e
push esi
call fcn.0043109d
add esp, 4
cmp eax, 0x26
je 0x421116
push esi
call fcn.0042f59c
mov esi, eax
add esp, 4
test esi, esi
jne 0x4210ec
or esi, 0xffffffff
jmp 0x4211ff
sub esi, edi
cmp esi, 0xffffffff
je 0x4211ff
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
dec ecx
cmp esi, ecx
jge 0x4211ff
add eax, esi
push eax
call fcn.0042f59c
add esp, 4
test eax, eax
je 0x4211ff
push eax
call fcn.0043109d
push eax
call fcn.00430f62
mov ebp, eax
add esp, 8
cmp ebp, 0x26
je 0x421163
cmp ebp, 0x20
jne 0x4211ff
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x80]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x10]
sub eax, esi
sub eax, 2
push eax
push edx
call fcn.004538ff
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xf4], 0x17
call fcn.0045d045
lea ecx, [esp + 0x80]
mov byte [esp + 0xf0], 0x19
call fcn.0045d2d0
mov edi, dword [esp + 0x20]
test edi, edi
mov dword [esp + 0x40], edi
je 0x4211ee
cmp byte [edi], 0
je 0x4211ee
push edi
call fcn.0043109d
add esp, 4
cmp eax, 0x26
je 0x4211d7
push edi
call fcn.0042f59c
mov edi, eax
add esp, 4
test edi, edi
jne 0x4211b3
jmp 0x4211ee
sub edi, dword [esp + 0x40]
cmp edi, 0xffffffff
je 0x4211ee
mov eax, dword [esp + 0x20]
mov eax, dword [eax - 8]
dec eax
cmp edi, eax
jge 0x4211ee
mov esi, edi
lea ecx, [esp + 0x20]
mov byte [esp + 0xf0], 0x16
call fcn.0045d2d0
lea ecx, [esi + 1]
lea edx, [esp + 0xd4]
push ecx
push edx
lea ecx, [esp + 0x18]
call fcn.0045397b
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xf4], 0x1a
call fcn.0045d045
lea ecx, [esp + 0xd4]
mov byte [esp + 0xf0], 0x1c
call fcn.0045d2d0
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xdc]
mov eax, dword [eax - 8]
sub eax, esi
sub eax, 2
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.004538ff
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0xf4], 0x1d
call fcn.0045d045
lea ecx, [esp + 0xdc]
mov byte [esp + 0xf0], 0x1f
call fcn.0045d2d0
lea edx, [esp + 0x38]
push ebp
lea eax, [esp + 0xdc]
push edx
push eax
call fcn.00453400
lea ecx, [esp + 0x34]
lea edx, [esp + 0x78]
push ecx
push eax
push edx
mov byte [esp + 0xfc], 0x20
call fcn.0045d4ff
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xf4], 0x21
call fcn.0045d045
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0xf4], 0x22
call fcn.0045d409
lea ecx, [esp + 0x1c]
mov byte [esp + 0xf0], 0x21
call fcn.0045d2d0
lea ecx, [esp + 0x78]
mov byte [esp + 0xf0], 0x20
call fcn.0045d2d0
lea ecx, [esp + 0xd8]
mov byte [esp + 0xf0], 0x1f
call fcn.0045d2d0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.0045d045
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xc]
mov dword [ebx + ebp*4 + 4], 1
lea ecx, [esp + 0x34]
mov byte [esp + 0xf0], 0x1c
call fcn.0045d2d0
mov byte [esp + 0xf0], 0x16
lea ecx, [esp + 0x38]
jmp 0x421ad0
mov ecx, ebx
call fcn.00421b40
mov edi, eax
test edi, edi
je 0x42196b
mov eax, dword [esp + 0x10]
test eax, eax
mov ebp, eax
mov esi, eax
je 0x421391
cmp byte [esi], 0
je 0x421391
push esi
call fcn.0043109d
add esp, 4
cmp eax, 0x7e
je 0x4213cc
push esi
call fcn.0042f59c
mov esi, eax
mov eax, dword [esp + 0x14]
add esp, 4
test esi, esi
jne 0x42136b
test eax, eax
mov ebp, eax
mov esi, eax
je 0x4216d9
cmp byte [esi], 0
je 0x4216d9
push esi
call fcn.0043109d
add esp, 4
cmp eax, 0x3a
je 0x421539
push esi
call fcn.0042f59c
mov esi, eax
add esp, 4
test esi, esi
jne 0x42139d
jmp 0x4216d9
mov eax, dword [esp + 0x10]
sub esi, ebp
cmp esi, 0xffffffff
je 0x421391
mov ecx, dword [eax - 8]
dec ecx
cmp esi, ecx
jge 0x421391
lea edx, [esp + 0x88]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.0045397b
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xf4], 0x23
call fcn.0045d045
lea ecx, [esp + 0x88]
mov byte [esp + 0xf0], 0x25
call fcn.0045d2d0
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.004538ff
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0xf4], 0x26
call fcn.0045d045
lea ecx, [esp + 0xb8]
mov byte [esp + 0xf0], 0x28
call fcn.0045d2d0
lea edx, [esp + 0x18]
push 0x48f6bc
lea eax, [esp + 0x9c]
push edx
push eax
call fcn.0045d565
push edi
lea ecx, [esp + 0xd4]
push eax
push ecx
mov byte [esp + 0xfc], 0x29
call fcn.00453400
lea edx, [esp + 0x28]
mov byte [esp + 0xf0], 0x2a
push edx
push eax
lea eax, [esp + 0x98]
push eax
call fcn.0045d4ff
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xf4], 0x2b
call fcn.0045d045
lea ecx, [esp + 0x24]
mov byte [esp + 0xf0], 0x2c
push ecx
lea ecx, [esp + 0x14]
call fcn.0045d409
lea ecx, [esp + 0x24]
mov byte [esp + 0xf0], 0x2b
call fcn.0045d2d0
lea ecx, [esp + 0x90]
mov byte [esp + 0xf0], 0x2a
call fcn.0045d2d0
lea ecx, [esp + 0xd0]
mov byte [esp + 0xf0], 0x29
call fcn.0045d2d0
lea ecx, [esp + 0x98]
mov byte [esp + 0xf0], 0x28
call fcn.0045d2d0
lea ecx, [esp + 0x28]
mov byte [esp + 0xf0], 0x25
call fcn.0045d2d0
mov byte [esp + 0xf0], 0x16
lea ecx, [esp + 0x18]
jmp 0x42193c
sub esi, ebp
cmp esi, 0xffffffff
je 0x4216d9
mov edx, dword [esp + 0x10]
cmp esi, dword [edx - 8]
jge 0x4216d9
lea eax, [esp + 0xc0]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.0045397b
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0xf4], 0x2d
call fcn.0045d045
lea ecx, [esp + 0xc0]
mov byte [esp + 0xf0], 0x2f
call fcn.0045d2d0
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.004538ff
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0xf4], 0x30
call fcn.0045d045
lea ecx, [esp + 0xa0]
mov byte [esp + 0xf0], 0x32
call fcn.0045d2d0
lea eax, [esp + 0x44]
push 0x48f6b8
lea ecx, [esp + 0xb4]
push eax
push ecx
call fcn.0045d565
push edi
lea edx, [esp + 0xcc]
push eax
push edx
mov byte [esp + 0xfc], 0x33
call fcn.00453400
push 0x48f6b4
push eax
lea eax, [esp + 0xb0]
mov byte [esp + 0xf8], 0x34
push eax
call fcn.0045d565
lea ecx, [esp + 0x48]
lea edx, [esp + 0xe0]
push ecx
push eax
push edx
mov byte [esp + 0xfc], 0x35
call fcn.0045d4ff
push eax
lea ecx, [esp + 0x78]
mov byte [esp + 0xf4], 0x36
call fcn.0045d045
lea eax, [esp + 0x74]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0xf4], 0x37
call fcn.0045d409
lea ecx, [esp + 0x74]
mov byte [esp + 0xf0], 0x36
call fcn.0045d2d0
lea ecx, [esp + 0xe0]
mov byte [esp + 0xf0], 0x35
call fcn.0045d2d0
lea ecx, [esp + 0xa8]
mov byte [esp + 0xf0], 0x34
call fcn.0045d2d0
lea ecx, [esp + 0xc8]
mov byte [esp + 0xf0], 0x33
call fcn.0045d2d0
lea ecx, [esp + 0xb0]
mov byte [esp + 0xf0], 0x32
call fcn.0045d2d0
lea ecx, [esp + 0x48]
mov byte [esp + 0xf0], 0x2f
call fcn.0045d2d0
mov byte [esp + 0xf0], 0x16
lea ecx, [esp + 0x44]
jmp 0x42193c
push ecx
lea edx, [esp + 0x14]
mov dword [esp + 0x44], esp
mov ecx, esp
push edx
call fcn.0045d045
lea eax, [esp + 0x6c]
mov ecx, ebx
push eax
call fcn.00421b80
mov esi, dword [eax]
cmp esi, 0xffffffff
je 0x421883
lea ecx, [esp + 0x7c]
push esi
push ecx
lea ecx, [esp + 0x18]
call fcn.0045397b
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0xf4], 0x38
call fcn.0045d045
lea ecx, [esp + 0x7c]
mov byte [esp + 0xf0], 0x3a
call fcn.0045d2d0
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.004538ff
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0xf4], 0x3b
call fcn.0045d045
lea ecx, [esp + 0x84]
mov byte [esp + 0xf0], 0x3d
call fcn.0045d2d0
lea ecx, [esp + 0x58]
push 0x48f6b8
lea edx, [esp + 0xa8]
push ecx
push edx
call fcn.0045d565
push edi
push eax
lea eax, [esp + 0xa4]
mov byte [esp + 0xf8], 0x3e
push eax
call fcn.00453400
push 0x48f6b4
lea ecx, [esp + 0x98]
push eax
push ecx
mov byte [esp + 0xfc], 0x3f
call fcn.0045d565
lea edx, [esp + 0x4c]
mov byte [esp + 0xf0], 0x40
push edx
push eax
lea eax, [esp + 0x94]
push eax
call fcn.0045d4ff
push eax
lea ecx, [esp + 0x68]
mov byte [esp + 0xf4], 0x41
call fcn.0045d045
lea ecx, [esp + 0x64]
mov byte [esp + 0xf0], 0x42
push ecx
lea ecx, [esp + 0x14]
call fcn.0045d409
lea ecx, [esp + 0x64]
mov byte [esp + 0xf0], 0x41
call fcn.0045d2d0
lea ecx, [esp + 0x8c]
mov byte [esp + 0xf0], 0x40
call fcn.0045d2d0
lea ecx, [esp + 0x94]
mov byte [esp + 0xf0], 0x3f
call fcn.0045d2d0
lea ecx, [esp + 0x9c]
mov byte [esp + 0xf0], 0x3e
call fcn.0045d2d0
lea ecx, [esp + 0xa4]
mov byte [esp + 0xf0], 0x3d
call fcn.0045d2d0
lea ecx, [esp + 0x4c]
mov byte [esp + 0xf0], 0x3a
call fcn.0045d2d0
mov byte [esp + 0xf0], 0x16
lea ecx, [esp + 0x58]
jmp 0x42193c
lea edx, [esp + 0x10]
push 0x48f6b8
lea eax, [esp + 0xc0]
push edx
push eax
call fcn.0045d565
push edi
lea ecx, [esp + 0xb8]
push eax
push ecx
mov byte [esp + 0xfc], 0x43
call fcn.00453400
push 0x48f6b4
lea edx, [esp + 0xb0]
push eax
push edx
mov byte [esp + 0xfc], 0x44
call fcn.0045d565
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0xf4], 0x45
call fcn.0045d045
lea eax, [esp + 0x54]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0xf4], 0x46
call fcn.0045d409
lea ecx, [esp + 0x54]
mov byte [esp + 0xf0], 0x45
call fcn.0045d2d0
lea ecx, [esp + 0xac]
mov byte [esp + 0xf0], 0x44
call fcn.0045d2d0
lea ecx, [esp + 0xb4]
mov byte [esp + 0xf0], 0x43
call fcn.0045d2d0
mov byte [esp + 0xf0], 0x16
lea ecx, [esp + 0xbc]
call fcn.0045d2d0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.0045d045
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xc]
mov dword [ebx + edi*4 + 4], 1
jmp 0x421ad5
mov esi, dword [esp + 0x10]
test esi, esi
mov edi, esi
je 0x421ad5
cmp byte [esi], 0
je 0x421ad5
push esi
call fcn.0043109d
add esp, 4
cmp eax, 0x7e
je 0x4219a4
push esi
call fcn.0042f59c
mov esi, eax
add esp, 4
test esi, esi
jne 0x421979
jmp 0x421ad5
sub esi, edi
cmp esi, 0xffffffff
je 0x421ad5
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
dec eax
cmp esi, eax
jge 0x421ad5
lea eax, [esi - 2]
lea ecx, [esp + 0xc4]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.0045397b
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xf4], 0x47
call fcn.0045d045
lea ecx, [esp + 0xc4]
mov byte [esp + 0xf0], 0x49
call fcn.0045d2d0
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 + 0x74]
push eax
call fcn.004538ff
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0xf4], 0x4a
call fcn.0045d045
lea ecx, [esp + 0x70]
mov byte [esp + 0xf0], 0x4c
call fcn.0045d2d0
lea ecx, [esp + 0x30]
lea edx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x64]
push edx
push eax
call fcn.0045d4ff
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0xf4], 0x4d
call fcn.0045d045
lea ecx, [esp + 0x5c]
mov byte [esp + 0xf0], 0x4e
push ecx
lea ecx, [esp + 0x14]
call fcn.0045d409
lea ecx, [esp + 0x5c]
mov byte [esp + 0xf0], 0x4d
call fcn.0045d2d0
lea ecx, [esp + 0x60]
mov byte [esp + 0xf0], 0x4c
call fcn.0045d2d0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x44], esp
push edx
call fcn.0045d045
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xc]
lea ecx, [esp + 0x30]
mov byte [esp + 0xf0], 0x49
call fcn.0045d2d0
mov byte [esp + 0xf0], 0x16
lea ecx, [esp + 0x2c]
call fcn.0045d2d0
lea ecx, [esp + 0x10]
mov byte [esp + 0xf0], 0x13
call fcn.0045d2d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x42103f
lea ecx, [esp + 0x3c]
mov dword [esp + 0xf0], 0xffffffff
call fcn.0045d2d0
mov ecx, dword [esp + 0xe8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xe4
ret