Function at 0x41fa00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x489470
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x4ac13c]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ac13c]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
push eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], edi
call fcn.0040df70
mov ebp, eax
add esp, 4
lea eax, [esp + 0x50]
push eax
mov ecx, ebp
call fcn.0040db70
cmp byte [esi + 8], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x18], ebx
mov byte [esp + 0x1f], 0
jne 0x41fa8b
mov ecx, esi
call fcn.0041b0b0
cmp byte [edi + 8], 0
jne 0x41fa98
mov ecx, edi
call fcn.0041b0b0
mov eax, dword [esi + 4]
test eax, eax
jne 0x41faa8
cmp dword [edi + 4], eax
je 0x41faea
test eax, eax
je 0x41faae
cmp dword [edi + 4], 0
jne 0x41faea
cmp byte [esi + 8], 0
jne 0x41fabb
mov ecx, esi
call fcn.0041b0b0
cmp byte [esi + 9], 0x2b
jne 0x41fac6
mov byte [ebx], 0x2b
jmp 0x41fadc
cmp byte [esi + 8], 0
jne 0x41fad3
mov ecx, esi
call fcn.0041b0b0
cmp byte [esi + 9], 0x2d
jne 0x41faea
mov byte [ebx], 0x2d
add ebx, 1
mov ecx, esi
mov dword [esp + 0x18], ebx
call fcn.0041b060
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x54]
xor edi, edi
cmp eax, 0x10
mov byte [esp + 0x17], 0
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], edi
mov ecx, edx
jae 0x41fb0c
lea ecx, [esp + 0x54]
cmp byte [ecx], 0x7f
je 0x41fde0
cmp eax, 0x10
mov eax, edx
jae 0x41fb20
lea eax, [esp + 0x54]
cmp byte [eax], 0
jle 0x41fde0
mov edx, dword [ebp]
mov eax, dword [edx + 8]
mov ecx, ebp
call eax
mov byte [esp + 0x27], al
mov dword [esp + 0x4c], 0xf
mov byte [esp + 0x38], 0
mov dword [esp + 0x48], 1
mov byte [esp + 0x39], 0
mov ecx, dword [esp + 0x20]
push ecx
push esi
mov byte [esp + 0x80], 1
xor ebx, ebx
call fcn.0041b170
add esp, 8
test al, al
je 0x41fcf6
cmp byte [esi + 8], 0
jne 0x41fbb1
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x41fba6
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x41fb95
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x41fb95
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x41fb9c
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x41fba6
mov byte [esi + 9], al
jmp 0x41fbad
mov dword [esi + 4], 0
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x30
jl 0x41fc5e
cmp byte [esi + 8], 0
jne 0x41fbc8
mov ecx, esi
call fcn.0041b0b0
cmp byte [esi + 9], 0x39
jg 0x41fc5e
cmp edi, 0x24
mov byte [esp + 0x17], 1
jl 0x41fbe3
add dword [esp + 0x28], 1
jmp 0x41fc1e
cmp byte [esi + 8], 0
jne 0x41fbf0
mov ecx, esi
call fcn.0041b0b0
cmp byte [esi + 9], 0x30
jne 0x41fbfa
test edi, edi
je 0x41fc1e
cmp byte [esi + 8], 0
jne 0x41fc07
mov ecx, esi
call fcn.0041b0b0
mov ecx, dword [esp + 0x18]
mov al, byte [esi + 9]
mov byte [ecx], al
add ecx, 1
add edi, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], edi
cmp ebx, dword [esp + 0x48]
jbe 0x41fc29
call fcn.0045c852
cmp dword [esp + 0x4c], 0x10
mov eax, dword [esp + 0x38]
jae 0x41fc38
lea eax, [esp + 0x38]
cmp byte [eax + ebx], 0x7f
je 0x41fcab
cmp ebx, dword [esp + 0x48]
jbe 0x41fc49
call fcn.0045c852
cmp dword [esp + 0x4c], 0x10
mov eax, dword [esp + 0x38]
jae 0x41fc58
lea eax, [esp + 0x38]
add byte [eax + ebx], 1
jmp 0x41fcab
cmp ebx, dword [esp + 0x48]
jbe 0x41fc69
call fcn.0045c852
cmp dword [esp + 0x4c], 0x10
mov eax, dword [esp + 0x38]
jae 0x41fc78
lea eax, [esp + 0x38]
cmp byte [eax + ebx], 0
je 0x41fcc8
cmp byte [esp + 0x27], 0
je 0x41fcc8
cmp byte [esi + 8], 0
jne 0x41fc92
mov ecx, esi
call fcn.0041b0b0
mov al, byte [esp + 0x27]
cmp byte [esi + 9], al
jne 0x41fcc8
push 0
push 1
lea ecx, [esp + 0x3c]
call fcn.004042c1
add ebx, 1
mov ecx, esi
call fcn.0041b060
mov ecx, dword [esp + 0x20]
push ecx
push esi
call fcn.0041b170
add esp, 8
test al, al
jne 0x41fb71
test ebx, ebx
je 0x41fcf6
cmp ebx, dword [esp + 0x48]
jbe 0x41fcd7
call fcn.0045c852
cmp dword [esp + 0x4c], 0x10
mov eax, dword [esp + 0x38]
jae 0x41fce6
lea eax, [esp + 0x38]
cmp byte [eax + ebx], 0
jle 0x41fcf1
add ebx, 1
jmp 0x41fcf6
mov byte [esp + 0x1f], 1
cmp dword [esp + 0x68], 0x10
mov edi, dword [esp + 0x54]
jae 0x41fd05
lea edi, [esp + 0x54]
cmp byte [esp + 0x1f], 0
jne 0x41fd74
lea esp, [esp]
test ebx, ebx
jbe 0x41fd74
cmp byte [edi], 0x7f
je 0x41fd74
sub ebx, 1
je 0x41fd3f
cmp ebx, dword [esp + 0x48]
jbe 0x41fd29
call fcn.0045c852
cmp dword [esp + 0x4c], 0x10
mov eax, dword [esp + 0x38]
jae 0x41fd38
lea eax, [esp + 0x38]
mov dl, byte [edi]
cmp dl, byte [eax + ebx]
jne 0x41fd6f
test ebx, ebx
jne 0x41fd64
cmp ebx, dword [esp + 0x48]
jbe 0x41fd4e
call fcn.0045c852
cmp dword [esp + 0x4c], 0x10
mov eax, dword [esp + 0x38]
jae 0x41fd5d
lea eax, [esp + 0x38]
mov cl, byte [edi]
cmp cl, byte [eax + ebx]
jl 0x41fd6f
cmp byte [edi + 1], 0
jle 0x41fd10
add edi, 1
jmp 0x41fd10
mov byte [esp + 0x1f], 1
cmp dword [esp + 0x4c], 0x10
mov byte [esp + 0x78], 0
jb 0x41fd8d
mov edx, dword [esp + 0x38]
push edx
call fcn.00451fd9
add esp, 4
cmp byte [esp + 0x17], 0
je 0x41fda9
cmp dword [esp + 0x2c], 0
jne 0x41fda9
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
add eax, 1
mov dword [esp + 0x18], eax
cmp byte [esi + 8], 0
jne 0x41ff8f
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x41ff84
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x41ff73
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x41ff73
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x41ff7a
cmp byte [esi + 8], 0
mov ebx, dword [esp + 0x20]
jne 0x41fe1e
mov ecx, dword [esi + 4]
cmp ecx, edi
je 0x41fe17
mov eax, dword [ecx + 0x20]
cmp dword [eax], edi
je 0x41fe06
mov edx, dword [ecx + 0x30]
cmp dword [edx], edi
jle 0x41fe06
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x41fe0d
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x41fe17
mov byte [esi + 9], al
jmp 0x41fe1a
mov dword [esi + 4], edi
mov byte [esi + 8], 1
cmp byte [ebx + 8], 0
jne 0x41fe58
mov ecx, dword [ebx + 4]
cmp ecx, edi
je 0x41fe51
mov eax, dword [ecx + 0x20]
cmp dword [eax], edi
je 0x41fe40
mov edx, dword [ecx + 0x30]
cmp dword [edx], edi
jle 0x41fe40
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x41fe47
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x41fe51
mov byte [ebx + 9], al
jmp 0x41fe54
mov dword [ebx + 4], edi
mov byte [ebx + 8], 1
mov ecx, dword [esi + 4]
cmp ecx, edi
jne 0x41fe6a
cmp dword [ebx + 4], edi
je 0x41fd8d
jmp 0x41fe73
cmp dword [ebx + 4], edi
jne 0x41fd8d
cmp byte [esi + 8], 0
jne 0x41feb0
test ecx, ecx
je 0x41fea5
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x41fe94
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x41fe94
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x41fe9b
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x41fea5
mov byte [esi + 9], al
jmp 0x41feac
mov dword [esi + 4], 0
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x30
jl 0x41fd8d
cmp byte [esi + 8], 0
jne 0x41fefa
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x41feef
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x41fede
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x41fede
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x41fee5
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x41feef
mov byte [esi + 9], al
jmp 0x41fef6
mov dword [esi + 4], 0
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x39
jg 0x41fd8d
mov edi, dword [esp + 0x2c]
cmp edi, 0x24
jl 0x41ff25
add dword [esp + 0x28], 1
mov ecx, esi
mov byte [esp + 0x17], 1
call fcn.0041b060
xor edi, edi
jmp 0x41fde0
cmp byte [esi + 8], 0
jne 0x41ff32
mov ecx, esi
call fcn.0041b0b0
cmp byte [esi + 9], 0x30
jne 0x41ff3c
test edi, edi
je 0x41ff60
cmp byte [esi + 8], 0
jne 0x41ff49
mov ecx, esi
call fcn.0041b0b0
mov eax, dword [esp + 0x18]
mov cl, byte [esi + 9]
mov byte [eax], cl
add eax, 1
add edi, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], edi
mov ecx, esi
mov byte [esp + 0x17], 1
call fcn.0041b060
xor edi, edi
jmp 0x41fde0
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x41ff84
mov byte [esi + 9], al
jmp 0x41ff8b
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov edx, dword [esp + 0x20]
cmp byte [edx + 8], 0
jne 0x41ffd7
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x41ffcc
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x41ffb7
mov edi, dword [ecx + 0x30]
cmp dword [edi], 0
jle 0x41ffb7
mov ecx, dword [eax]
movzx eax, byte [ecx]
jmp 0x41ffc2
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov edx, dword [esp + 0x20]
cmp eax, 0xffffffff
je 0x41ffcc
mov byte [edx + 9], al
jmp 0x41ffd3
mov dword [edx + 4], 0
mov byte [edx + 8], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x41ffef
cmp dword [edx + 4], ecx
je 0x4200a5
test ecx, ecx
mov edx, dword [esp + 0x20]
je 0x41fff9
cmp dword [edx + 4], 0
jne 0x4200a5
cmp byte [esi + 8], 0
jne 0x420036
test ecx, ecx
je 0x42002b
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x42001a
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x42001a
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420021
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x42002b
mov byte [esi + 9], al
jmp 0x420032
mov dword [esi + 4], 0
mov byte [esi + 8], 1
mov edx, dword [ebp]
mov eax, dword [edx + 4]
mov bl, byte [esi + 9]
mov ecx, ebp
call eax
cmp bl, al
jne 0x4200a5
call fcn.0045c862
mov ecx, dword [eax]
mov eax, dword [esp + 0x18]
mov dl, byte [ecx]
mov byte [eax], dl
mov ecx, dword [esi + 4]
add eax, 1
test ecx, ecx
mov dword [esp + 0x18], eax
je 0x42009a
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x420088
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x420088
mov eax, edx
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x42008f
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x42009a
mov byte [esi + 8], 0
jmp 0x4200a5
mov dword [esi + 4], 0
mov byte [esi + 8], 1
xor ebx, ebx
cmp dword [esp + 0x2c], ebx
jne 0x4201f5
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
lea esp, [esp]
cmp byte [esi + 8], 0
jne 0x4200fa
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x4200f3
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4200e2
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4200e2
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4200e9
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4200f3
mov byte [esi + 9], al
jmp 0x4200f6
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmp byte [ebp + 8], 0
jne 0x420134
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x42012d
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x42011c
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x42011c
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420123
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x42012d
mov byte [ebp + 9], al
jmp 0x420130
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
mov ecx, dword [esi + 4]
cmp ecx, ebx
jne 0x420163
cmp dword [ebp + 4], ebx
jne 0x420168
cmp edi, ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x28], edi
jge 0x4201f9
mov byte [ebp], 0x30
add ebp, 1
add edi, 1
mov dword [esp + 0x28], edi
jmp 0x4201f9
cmp dword [ebp + 4], ebx
jne 0x420140
cmp byte [esi + 8], 0
jne 0x42019f
cmp ecx, ebx
je 0x420198
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x420187
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x420187
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x42018e
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x420198
mov byte [esi + 9], al
jmp 0x42019b
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x30
jne 0x420140
mov ecx, dword [esi + 4]
sub edi, 1
cmp ecx, ebx
mov byte [esp + 0x17], 1
je 0x4201e9
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x4201d4
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x4201d4
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4201db
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x4201e9
mov byte [esi + 8], 0
jmp 0x4200c0
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
jmp 0x4200c0
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
lea ecx, [ecx]
cmp byte [esi + 8], 0
jne 0x42023a
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x420233
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x420222
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x420222
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420229
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x420233
mov byte [esi + 9], al
jmp 0x420236
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmp byte [edi + 8], 0
jne 0x420274
mov ecx, dword [edi + 4]
cmp ecx, ebx
je 0x42026d
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x42025c
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x42025c
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420263
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x42026d
mov byte [edi + 9], al
jmp 0x420270
mov dword [edi + 4], ebx
mov byte [edi + 8], 1
mov ecx, dword [esi + 4]
cmp ecx, ebx
jne 0x4202c6
cmp dword [edi + 4], ebx
jne 0x4202cb
cmp byte [esp + 0x17], 0
mov dword [esp + 0x18], ebp
je 0x420904
cmp byte [esi + 8], 0
jne 0x420408
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4203fd
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4203ec
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4203ec
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4203f3
cmp dword [edi + 4], ebx
jne 0x420280
cmp byte [esi + 8], 0
jne 0x420302
cmp ecx, ebx
je 0x4202fb
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4202ea
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4202ea
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4202f1
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4202fb
mov byte [esi + 9], al
jmp 0x4202fe
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x30
jl 0x420280
cmp byte [esi + 8], 0
jne 0x420346
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x42033f
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x42032e
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x42032e
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420335
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x42033f
mov byte [esi + 9], al
jmp 0x420342
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x39
jg 0x420280
cmp dword [esp + 0x2c], 0x24
jge 0x42039f
cmp byte [esi + 8], 0
jne 0x420391
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x42038a
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x420379
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x420379
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420380
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x42038a
mov byte [esi + 9], al
jmp 0x42038d
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
mov cl, byte [esi + 9]
mov byte [ebp], cl
add ebp, 1
add dword [esp + 0x2c], 1
mov ecx, dword [esi + 4]
cmp ecx, ebx
mov byte [esp + 0x17], 1
je 0x4203e0
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x4203cb
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x4203cb
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4203d2
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x4203e0
mov byte [esi + 8], 0
jmp 0x420200
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
jmp 0x420200
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4203fd
mov byte [esi + 9], al
jmp 0x420404
mov dword [esi + 4], 0
mov byte [esi + 8], 1
cmp byte [edi + 8], 0
jne 0x420448
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x42043d
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x42042c
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x42042c
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420433
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x42043d
mov byte [edi + 9], al
jmp 0x420444
mov dword [edi + 4], 0
mov byte [edi + 8], 1
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x42045c
cmp dword [edi + 4], ecx
je 0x420904
test ecx, ecx
je 0x420466
cmp dword [edi + 4], 0
jne 0x420904
cmp byte [esi + 8], 0
jne 0x4204a3
test ecx, ecx
je 0x420498
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x420487
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x420487
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x42048e
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x420498
mov byte [esi + 9], al
jmp 0x42049f
mov dword [esi + 4], 0
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x65
je 0x4204f3
cmp byte [esi + 8], 0
jne 0x4204e9
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4204de
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4204cd
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4204cd
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4204d4
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4204de
mov byte [esi + 9], al
jmp 0x4204e5
mov dword [esi + 4], 0
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x45
jne 0x420904
mov eax, dword [esp + 0x18]
mov byte [eax], 0x65
mov ecx, dword [esi + 4]
add eax, 1
test ecx, ecx
mov dword [esp + 0x18], eax
je 0x42053c
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x42052a
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x42052a
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x420531
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x42053c
mov byte [esi + 8], 0
jmp 0x420547
mov dword [esi + 4], 0
mov byte [esi + 8], 1
xor ebx, ebx
xor edi, edi
cmp byte [esi + 8], 0
mov byte [esp + 0x17], 0
jne 0x42058a
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x420583
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x420572
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x420572
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420579
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x420583
mov byte [esi + 9], al
jmp 0x420586
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
mov ebp, dword [esp + 0x20]
cmp byte [ebp + 8], 0
jne 0x4205c8
mov ecx, dword [ebp + 4]
cmp ecx, ebx
je 0x4205c1
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4205b0
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4205b0
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4205b7
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4205c1
mov byte [ebp + 9], al
jmp 0x4205c4
mov dword [ebp + 4], ebx
mov byte [ebp + 8], 1
mov ecx, dword [esi + 4]
cmp ecx, ebx
jne 0x4205dc
cmp dword [ebp + 4], ebx
je 0x4206fb
cmp ecx, ebx
je 0x4205e5
cmp dword [ebp + 4], ebx
jne 0x4206fb
cmp byte [esi + 8], 0
jne 0x42061c
cmp ecx, ebx
je 0x420615
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x420604
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x420604
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x42060b
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x420615
mov byte [esi + 9], al
jmp 0x420618
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x2b
jne 0x42066f
mov ebp, dword [esp + 0x18]
mov byte [ebp], 0x2b
mov ecx, dword [esi + 4]
add ebp, 1
cmp ecx, ebx
mov dword [esp + 0x18], ebp
je 0x420663
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x4206e5
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x4206e5
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4206ec
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
jmp 0x420700
cmp byte [esi + 8], 0
jne 0x4206a9
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x4206a2
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x420691
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x420691
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420698
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4206a2
mov byte [esi + 9], al
jmp 0x4206a5
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x2d
jne 0x4206fb
mov ebp, dword [esp + 0x18]
mov byte [ebp], 0x2d
mov ecx, dword [esi + 4]
add ebp, 1
cmp ecx, ebx
mov dword [esp + 0x18], ebp
je 0x420663
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x4206e5
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x4206e5
add dword [eax], 0xffffffff
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4206ec
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x420663
mov byte [esi + 8], 0
jmp 0x420700
mov ebp, dword [esp + 0x18]
nop
cmp byte [esi + 8], 0
jne 0x42073a
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x420733
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x420722
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x420722
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420729
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x420733
mov byte [esi + 9], al
jmp 0x420736
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
mov edx, dword [esp + 0x20]
cmp byte [edx + 8], 0
jne 0x42077c
mov ecx, dword [edx + 4]
cmp ecx, ebx
je 0x420775
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x420760
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x420760
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420767
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
mov edx, dword [esp + 0x20]
je 0x420775
mov byte [edx + 9], al
jmp 0x420778
mov dword [edx + 4], ebx
mov byte [edx + 8], 1
mov ecx, dword [esi + 4]
cmp ecx, ebx
jne 0x4207da
cmp dword [edx + 4], ebx
jne 0x4207df
cmp byte [esp + 0x17], 0
je 0x42079a
mov byte [ebp], 0x30
add ebp, 1
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x20]
push ecx
push esi
call fcn.0041b170
add esp, 8
test al, al
je 0x420904
cmp byte [esi + 8], 0
jne 0x420849
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x420842
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x420831
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x420831
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420838
cmp dword [edx + 4], ebx
jne 0x420788
cmp byte [esi + 8], 0
jne 0x420816
cmp ecx, ebx
je 0x42080f
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4207fe
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4207fe
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x420805
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x42080f
mov byte [esi + 9], al
jmp 0x420812
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x30
jne 0x420788
mov ecx, esi
mov byte [esp + 0x17], 1
call fcn.0041b060
jmp 0x420700
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x420842
mov byte [esi + 9], al
jmp 0x420845
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x30
jl 0x420900
cmp byte [esi + 8], 0
jne 0x42088d
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x420886
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x420875
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x420875
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x42087c
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x420886
mov byte [esi + 9], al
jmp 0x420889
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
cmp byte [esi + 9], 0x39
jg 0x420900
cmp edi, 8
jge 0x4208de
cmp byte [esi + 8], 0
jne 0x4208d2
mov ecx, dword [esi + 4]
cmp ecx, ebx
je 0x4208cb
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4208ba
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4208ba
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4208c1
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x4208cb
mov byte [esi + 9], al
jmp 0x4208ce
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
mov cl, byte [esi + 9]
mov byte [ebp], cl
add ebp, 1
add edi, 1
mov ecx, esi
mov byte [esp + 0x17], 1
call fcn.0041b060
mov edx, dword [esp + 0x20]
push edx
push esi
call fcn.0041b170
add esp, 8
test al, al
jne 0x4207b0
mov dword [esp + 0x18], ebp
cmp byte [esp + 0x1f], 0
jne 0x420912
cmp byte [esp + 0x17], 0
jne 0x420918
mov eax, dword [esp + 0x30]
jmp 0x42091c
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x68], 0x10
mov byte [eax], 0
jb 0x420933
mov eax, dword [esp + 0x54]
push eax
call fcn.00451fd9
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.0045b7a6
add esp, 0x68
ret