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

Disassembly:
push 0xffffffffffffffff
push 0x4556d8
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x46f7c0]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46f7c0]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], edx
call fcn.00408c00
push eax
mov dword [esp + 0x84], 0
call fcn.004184e0
mov ebp, dword [esp + 0x3c]
add esp, 4
mov edi, eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x80], 0xffffffff
test ebp, ebp
je 0x423e17
push 0
lea ecx, [esp + 0x28]
call fcn.00428cf5
mov eax, dword [ebp + 4]
test eax, eax
je 0x423df3
cmp eax, 0xffffffff
jae 0x423df3
dec eax
mov dword [ebp + 4], eax
mov edi, dword [ebp + 4]
neg edi
sbb edi, edi
lea ecx, [esp + 0x24]
not edi
call fcn.00428d1d
and edi, ebp
je 0x423e13
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
lea ecx, [esp + 0x58]
push ecx
mov ecx, edi
call fcn.00417cd0
push ebp
mov ecx, esi
mov dword [esp + 0x84], 1
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x22], 0
call fcn.00409dd0
test al, al
jne 0x423ea8
cmp byte [esi + 4], al
jne 0x423e84
mov ecx, dword [esi]
test ecx, ecx
je 0x423e7a
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x423e69
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x423e69
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x423e70
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x423e7a
mov byte [esi + 5], al
jmp 0x423e80
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2b
mov ecx, esi
jne 0x423e91
mov byte [ebx], 0x2b
jmp 0x423e9e
call fcn.0040a560
cmp al, 0x2d
jne 0x423ea8
mov byte [ebx], al
mov ecx, esi
inc ebx
mov dword [esp + 0x18], ebx
call fcn.0040a5b0
mov eax, dword [esp + 0x18]
mov word [eax], 0x7830
add eax, 2
xor ebx, ebx
push ebp
mov ecx, esi
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1b], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
call fcn.00409dd0
test al, al
jne 0x423f47
cmp byte [esi + 4], bl
jne 0x423f0a
mov ecx, dword [esi]
cmp ecx, ebx
je 0x423f04
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x423ef3
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x423ef3
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x423efa
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x423f04
mov byte [esi + 5], al
jmp 0x423f06
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x423f47
mov ecx, esi
call fcn.0040a5b0
push ebp
mov ecx, eax
call fcn.00409dd0
test al, al
jne 0x423f42
mov ecx, esi
call fcn.0040a560
cmp al, 0x78
je 0x423f39
mov ecx, esi
call fcn.0040a560
cmp al, 0x58
jne 0x423f42
mov ecx, esi
call fcn.0040a5b0
jmp 0x423f47
mov byte [esp + 0x17], 1
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x58]
mov eax, edx
cmp ecx, 0x10
jae 0x423f5a
lea eax, [esp + 0x58]
cmp byte [eax], 0x7f
je 0x424223
mov eax, edx
cmp ecx, 0x10
jae 0x423f6e
lea eax, [esp + 0x58]
cmp byte [eax], bl
jle 0x424223
cmp dword [esp + 0x68], ebx
jne 0x423f82
mov byte [esp + 0x1f], bl
jmp 0x423f8f
mov eax, dword [edi]
mov edx, dword [eax + 8]
mov ecx, edi
call edx
mov byte [esp + 0x1f], al
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], 1
mov word [esp + 0x3c], bx
push ebp
mov ecx, esi
mov byte [esp + 0x84], 2
xor ebx, ebx
call fcn.00409dd0
test al, al
jne 0x42414d
mov edi, edi
cmp byte [esi + 4], 0
jne 0x423ffe
mov ecx, dword [esi]
test ecx, ecx
je 0x423ff4
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x423fe3
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x423fe3
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x423fea
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x423ff4
mov byte [esi + 5], al
jmp 0x423ffa
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, 0x30
jl 0x424012
movsx ecx, al
cmp ecx, 0x39
jg 0x424012
lea edi, [ecx - 0x30]
jmp 0x424032
cmp al, 0x61
jl 0x424023
movsx ecx, al
cmp ecx, 0x66
jg 0x424023
lea edi, [ecx - 0x57]
jmp 0x424032
cmp al, 0x41
jl 0x424098
movsx eax, al
cmp eax, 0x46
jg 0x424098
lea edi, [eax - 0x37]
test edi, edi
js 0x424098
mov ebp, dword [esp + 0x24]
mov byte [esp + 0x17], 1
cmp ebp, 0x24
jl 0x42404a
inc dword [esp + 0x20]
jmp 0x42406f
mov ecx, esi
call fcn.0040a560
cmp al, 0x30
jne 0x424059
test ebp, ebp
je 0x42406f
mov eax, dword [esp + 0x18]
mov cl, byte [edi + str.0123456789abcdef]
mov byte [eax], cl
inc eax
inc ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ebp
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x3c]
cmp ecx, 0x10
jae 0x424080
lea eax, [esp + 0x3c]
cmp byte [eax + ebx], 0x7f
je 0x4240d1
mov eax, dword [esp + 0x3c]
cmp ecx, 0x10
jae 0x424093
lea eax, [esp + 0x3c]
inc byte [eax + ebx]
jmp 0x4240d1
cmp dword [esp + 0x50], 0x10
mov ebp, dword [esp + 0x3c]
mov eax, ebp
jae 0x4240a9
lea eax, [esp + 0x3c]
cmp byte [eax + ebx], 0
je 0x42412c
cmp byte [esp + 0x1f], 0
je 0x42412c
mov ecx, esi
call fcn.0040a560
cmp al, byte [esp + 0x1f]
jne 0x42412c
push 0
push 1
lea ecx, [esp + 0x44]
call fcn.0040a650
inc ebx
mov ecx, dword [esi]
test ecx, ecx
je 0x42410a
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x4240f8
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x4240f8
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4240ff
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x42410a
mov byte [esi + 4], 0
jmp 0x424114
mov dword [esi], 0
mov byte [esi + 4], 1
mov eax, dword [esp + 0x28]
push eax
mov ecx, esi
call fcn.00409dd0
test al, al
je 0x423fc0
mov ebp, dword [esp + 0x3c]
test ebx, ebx
je 0x424151
cmp dword [esp + 0x50], 0x10
mov eax, ebp
jae 0x42413d
lea eax, [esp + 0x3c]
cmp byte [eax + ebx], 0
jle 0x424146
inc ebx
jmp 0x424151
mov byte [esp + 0x1e], 1
jmp 0x424151
mov ebp, dword [esp + 0x3c]
cmp dword [esp + 0x6c], 0x10
mov edx, dword [esp + 0x58]
jae 0x424160
lea edx, [esp + 0x58]
cmp byte [esp + 0x1e], 0
mov edi, dword [esp + 0x50]
jne 0x4241aa
test ebx, ebx
je 0x4241aa
mov cl, byte [edx]
cmp cl, 0x7f
je 0x4241aa
dec ebx
je 0x424189
mov eax, ebp
cmp edi, 0x10
jae 0x424184
lea eax, [esp + 0x3c]
cmp cl, byte [eax + ebx]
jne 0x4241a5
test ebx, ebx
jne 0x42419c
mov eax, ebp
cmp edi, 0x10
jae 0x424198
lea eax, [esp + 0x3c]
cmp cl, byte [eax]
jl 0x4241a5
cmp byte [edx + 1], 0
jle 0x42416b
inc edx
jmp 0x42416b
mov byte [esp + 0x1e], 1
mov byte [esp + 0x80], 1
cmp edi, 0x10
jb 0x4241c0
push ebp
call fcn.0043a71e
add esp, 4
mov ebp, dword [esp + 0x28]
cmp byte [esp + 0x17], 0
je 0x4241de
cmp dword [esp + 0x24], 0
jne 0x4241de
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
inc eax
mov dword [esp + 0x18], eax
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
jne 0x424402
cmp byte [esi + 4], al
jne 0x424397
mov ecx, dword [esi]
test ecx, ecx
je 0x42438d
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x42437c
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x42437c
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x424383
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
jne 0x4241c4
nop
cmp byte [esi + 4], 0
jne 0x42426e
mov ecx, dword [esi]
test ecx, ecx
je 0x424264
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x424253
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x424253
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x42425a
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x424264
mov byte [esi + 5], al
jmp 0x42426a
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, 0x30
jl 0x424282
movsx ecx, al
cmp ecx, 0x39
jg 0x424282
lea ebx, [ecx - 0x30]
jmp 0x4242aa
cmp al, 0x61
jl 0x424293
movsx ecx, al
cmp ecx, 0x66
jg 0x424293
lea ebx, [ecx - 0x57]
jmp 0x4242aa
cmp al, 0x41
jl 0x4241c4
movsx eax, al
cmp eax, 0x46
jg 0x4241c4
lea ebx, [eax - 0x37]
test ebx, ebx
js 0x4241c4
mov edi, dword [esp + 0x24]
cmp edi, 0x24
jl 0x4242c1
inc dword [esp + 0x20]
jmp 0x42431f
cmp byte [esi + 4], 0
jne 0x4242ff
mov ecx, dword [esi]
test ecx, ecx
je 0x4242f5
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4242e4
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4242e4
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4242eb
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4242f5
mov byte [esi + 5], al
jmp 0x4242fb
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x424309
test edi, edi
je 0x42431f
mov eax, dword [esp + 0x18]
mov cl, byte [ebx + str.0123456789abcdef]
mov byte [eax], cl
inc eax
inc edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], edi
mov ecx, dword [esi]
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x42435d
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x42434b
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x42434b
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x424352
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x42435d
mov byte [esi + 4], 0
jmp 0x424367
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
je 0x424230
jmp 0x4241cb
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x42438d
mov byte [esi + 5], al
jmp 0x424393
mov dword [esi], 0
mov byte [esi + 4], 1
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov bl, byte [esi + 5]
call eax
cmp bl, al
jne 0x424402
call fcn.0043e3e1
mov ecx, dword [eax]
mov eax, dword [esp + 0x18]
mov dl, byte [ecx]
mov byte [eax], dl
mov ecx, dword [esi]
inc eax
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x4243f8
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4243e6
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4243e6
mov eax, edx
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4243ed
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x4243f8
mov byte [esi + 4], 0
jmp 0x424402
mov dword [esi], 0
mov byte [esi + 4], 1
cmp dword [esp + 0x24], 0
mov ebp, dword [esp + 0x28]
jne 0x4244da
push ebp
mov ecx, esi
call fcn.00409dd0
mov edi, dword [esp + 0x20]
test al, al
jne 0x4244c6
cmp byte [esi + 4], 0
jne 0x424463
mov ecx, dword [esi]
test ecx, ecx
je 0x424459
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x424448
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x424448
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x42444f
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x424459
mov byte [esi + 5], al
jmp 0x42445f
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x4244c2
mov ecx, dword [esi]
dec edi
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x4244a8
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x424496
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x424496
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x42449d
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x4244a8
mov byte [esi + 4], 0
jmp 0x4244b2
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
je 0x424425
mov dword [esp + 0x20], edi
test edi, edi
jns 0x4244da
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
inc eax
inc dword [esp + 0x20]
mov dword [esp + 0x18], eax
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
jne 0x424615
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
cmp byte [esi + 4], 0
jne 0x424530
mov ecx, dword [esi]
test ecx, ecx
je 0x424526
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x424515
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x424515
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x42451c
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x424526
mov byte [esi + 5], al
jmp 0x42452c
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, 0x30
jl 0x424544
movsx ecx, al
cmp ecx, 0x39
jg 0x424544
lea eax, [ecx - 0x30]
jmp 0x42456c
cmp al, 0x61
jl 0x424555
movsx ecx, al
cmp ecx, 0x66
jg 0x424555
lea eax, [ecx - 0x57]
jmp 0x42456c
cmp al, 0x41
jl 0x424611
movsx eax, al
cmp eax, 0x46
jg 0x424611
add eax, 0xffffffc9
test eax, eax
js 0x424611
cmp ebx, 0x24
jge 0x424583
mov cl, byte [eax + str.0123456789abcdef]
mov byte [edi], cl
inc edi
inc ebx
mov ecx, dword [esi]
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x4245c1
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x4245af
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x4245af
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4245b6
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x4245c1
mov byte [esi + 4], 0
jmp 0x4245cb
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
je 0x4244f2
mov dword [esp + 0x18], edi
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
jne 0x4249b6
cmp byte [esi + 4], al
jne 0x42463d
mov ecx, dword [esi]
test ecx, ecx
je 0x424633
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x424622
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x424622
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x424629
mov dword [esp + 0x18], edi
cmp byte [esp + 0x17], 0
je 0x4249b6
jmp 0x4245df
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x424633
mov byte [esi + 5], al
jmp 0x424639
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x70
je 0x42468b
cmp byte [esi + 4], 0
jne 0x424681
mov ecx, dword [esi]
test ecx, ecx
je 0x424677
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x424666
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x424666
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x42466d
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x424677
mov byte [esi + 5], al
jmp 0x42467d
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x50
jne 0x4249b6
mov edi, dword [esp + 0x18]
mov byte [edi], 0x70
mov ecx, dword [esi]
inc edi
mov dword [esp + 0x18], edi
test ecx, ecx
je 0x4246d0
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x4246be
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x4246be
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4246c5
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x4246d0
mov byte [esi + 4], 0
jmp 0x4246da
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
mov byte [esp + 0x1b], 0
xor ebx, ebx
call fcn.00409dd0
test al, al
jne 0x4247b4
cmp byte [esi + 4], bl
jne 0x424728
mov ecx, dword [esi]
test ecx, ecx
je 0x424722
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x424711
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x424711
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x424718
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x424722
mov byte [esi + 5], al
jmp 0x424724
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2b
jne 0x424733
mov byte [edi], 0x2b
jmp 0x424773
cmp byte [esi + 4], bl
jne 0x42476a
mov ecx, dword [esi]
test ecx, ecx
je 0x424764
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x424753
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x424753
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x42475a
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x424764
mov byte [esi + 5], al
jmp 0x424766
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2d
jne 0x4247b4
mov byte [edi], 0x2d
mov ecx, dword [esi]
inc edi
mov dword [esp + 0x18], edi
test ecx, ecx
je 0x4247ae
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x42479d
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x42479d
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x4247a4
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x4247ae
mov byte [esi + 4], bl
jmp 0x4247b4
mov byte [esi + 4], 1
mov dword [esi], ebx
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
jne 0x424866
cmp byte [esi + 4], bl
jne 0x4247fb
mov ecx, dword [esi]
test ecx, ecx
je 0x4247f5
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4247e4
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4247e4
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4247eb
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4247f5
mov byte [esi + 5], al
jmp 0x4247f7
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x424854
mov ecx, dword [esi]
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x42483c
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x42482b
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x42482b
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x424832
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x42483c
mov byte [esi + 4], bl
jmp 0x424842
mov dword [esi], ebx
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
je 0x4247c4
jmp 0x42485a
cmp byte [esp + 0x17], bl
je 0x424866
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
inc eax
mov dword [esp + 0x18], eax
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
jne 0x4249b6
mov edi, dword [esp + 0x18]
lea ebx, [ebx]
cmp byte [esi + 4], 0
jne 0x4248be
mov ecx, dword [esi]
test ecx, ecx
je 0x4248b4
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4248a3
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4248a3
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4248aa
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4248b4
mov byte [esi + 5], al
jmp 0x4248ba
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jl 0x4249b2
cmp byte [esi + 4], 0
jne 0x424906
mov ecx, dword [esi]
test ecx, ecx
je 0x4248fc
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4248eb
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4248eb
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4248f2
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4248fc
mov byte [esi + 5], al
jmp 0x424902
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x39
jg 0x4249b2
cmp ebx, 8
jge 0x42495a
cmp byte [esi + 4], 0
jne 0x424953
mov ecx, dword [esi]
test ecx, ecx
je 0x424949
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x424938
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x424938
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x42493f
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x424949
mov byte [esi + 5], al
jmp 0x42494f
mov dword [esi], 0
mov byte [esi + 4], 1
mov cl, byte [esi + 5]
mov byte [edi], cl
inc edi
inc ebx
mov ecx, dword [esi]
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x424998
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x424986
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x424986
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x42498d
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x424998
mov byte [esi + 4], 0
jmp 0x4249a2
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.00409dd0
test al, al
je 0x424880
mov dword [esp + 0x18], edi
cmp byte [esp + 0x1e], 0
jne 0x4249c4
cmp byte [esp + 0x17], 0
jne 0x4249ca
mov eax, dword [esp + 0x30]
jmp 0x4249ce
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x6c], 0x10
mov ecx, dword [esp + 0x20]
mov byte [eax], 0
mov eax, dword [esp + 0x34]
mov dword [eax], ecx
jb 0x4249ef
mov edx, dword [esp + 0x58]
push edx
call fcn.0043a71e
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0043b8c7
add esp, 0x70
ret