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

Disassembly:
push 0xffffffffffffffff
push 0x473038
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x4a3dc0]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4a3dc0]
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.0040c290
push eax
mov dword [esp + 0x84], 0
call fcn.00418740
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 0x4302c7
push 0
lea ecx, [esp + 0x28]
call fcn.00440fc7
mov eax, dword [ebp + 4]
test eax, eax
je 0x4302a3
cmp eax, 0xffffffff
jae 0x4302a3
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.00440fef
and edi, ebp
je 0x4302c3
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.004182a0
push ebp
mov ecx, esi
mov dword [esp + 0x84], 1
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x22], 0
call fcn.0042ec60
test al, al
jne 0x430358
cmp byte [esi + 4], al
jne 0x430334
mov ecx, dword [esi]
test ecx, ecx
je 0x43032a
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x430319
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x430319
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x430320
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x43032a
mov byte [esi + 5], al
jmp 0x430330
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2b
mov ecx, esi
jne 0x430341
mov byte [ebx], 0x2b
jmp 0x43034e
call fcn.0042ee50
cmp al, 0x2d
jne 0x430358
mov byte [ebx], al
mov ecx, esi
inc ebx
mov dword [esp + 0x18], ebx
call fcn.0042eea0
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.0042ec60
test al, al
jne 0x4303f7
cmp byte [esi + 4], bl
jne 0x4303ba
mov ecx, dword [esi]
cmp ecx, ebx
je 0x4303b4
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4303a3
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4303a3
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4303aa
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x4303b4
mov byte [esi + 5], al
jmp 0x4303b6
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x4303f7
mov ecx, esi
call fcn.0042eea0
push ebp
mov ecx, eax
call fcn.0042ec60
test al, al
jne 0x4303f2
mov ecx, esi
call fcn.0042ee50
cmp al, 0x78
je 0x4303e9
mov ecx, esi
call fcn.0042ee50
cmp al, 0x58
jne 0x4303f2
mov ecx, esi
call fcn.0042eea0
jmp 0x4303f7
mov byte [esp + 0x17], 1
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x58]
mov eax, edx
cmp ecx, 0x10
jae 0x43040a
lea eax, [esp + 0x58]
cmp byte [eax], 0x7f
je 0x4306d3
mov eax, edx
cmp ecx, 0x10
jae 0x43041e
lea eax, [esp + 0x58]
cmp byte [eax], bl
jle 0x4306d3
cmp dword [esp + 0x68], ebx
jne 0x430432
mov byte [esp + 0x1f], bl
jmp 0x43043f
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.0042ec60
test al, al
jne 0x4305fd
mov edi, edi
cmp byte [esi + 4], 0
jne 0x4304ae
mov ecx, dword [esi]
test ecx, ecx
je 0x4304a4
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x430493
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x430493
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x43049a
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 0xffffffff
je 0x4304a4
mov byte [esi + 5], al
jmp 0x4304aa
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, 0x30
jl 0x4304c2
movsx ecx, al
cmp ecx, 0x39
jg 0x4304c2
lea edi, [ecx - 0x30]
jmp 0x4304e2
cmp al, 0x61
jl 0x4304d3
movsx ecx, al
cmp ecx, 0x66
jg 0x4304d3
lea edi, [ecx - 0x57]
jmp 0x4304e2
cmp al, 0x41
jl 0x430548
movsx eax, al
cmp eax, 0x46
jg 0x430548
lea edi, [eax - 0x37]
test edi, edi
js 0x430548
mov ebp, dword [esp + 0x24]
mov byte [esp + 0x17], 1
cmp ebp, 0x24
jl 0x4304fa
inc dword [esp + 0x20]
jmp 0x43051f
mov ecx, esi
call fcn.0042ee50
cmp al, 0x30
jne 0x430509
test ebp, ebp
je 0x43051f
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 0x430530
lea eax, [esp + 0x3c]
cmp byte [eax + ebx], 0x7f
je 0x430581
mov eax, dword [esp + 0x3c]
cmp ecx, 0x10
jae 0x430543
lea eax, [esp + 0x3c]
inc byte [eax + ebx]
jmp 0x430581
cmp dword [esp + 0x50], 0x10
mov ebp, dword [esp + 0x3c]
mov eax, ebp
jae 0x430559
lea eax, [esp + 0x3c]
cmp byte [eax + ebx], 0
je 0x4305dc
cmp byte [esp + 0x1f], 0
je 0x4305dc
mov ecx, esi
call fcn.0042ee50
cmp al, byte [esp + 0x1f]
jne 0x4305dc
push 0
push 1
lea ecx, [esp + 0x44]
call fcn.00412b60
inc ebx
mov ecx, dword [esi]
test ecx, ecx
je 0x4305ba
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x4305a8
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x4305a8
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 0x4305af
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x4305ba
mov byte [esi + 4], 0
jmp 0x4305c4
mov dword [esi], 0
mov byte [esi + 4], 1
mov eax, dword [esp + 0x28]
push eax
mov ecx, esi
call fcn.0042ec60
test al, al
je 0x430470
mov ebp, dword [esp + 0x3c]
test ebx, ebx
je 0x430601
cmp dword [esp + 0x50], 0x10
mov eax, ebp
jae 0x4305ed
lea eax, [esp + 0x3c]
cmp byte [eax + ebx], 0
jle 0x4305f6
inc ebx
jmp 0x430601
mov byte [esp + 0x1e], 1
jmp 0x430601
mov ebp, dword [esp + 0x3c]
cmp dword [esp + 0x6c], 0x10
mov edx, dword [esp + 0x58]
jae 0x430610
lea edx, [esp + 0x58]
cmp byte [esp + 0x1e], 0
mov edi, dword [esp + 0x50]
jne 0x43065a
test ebx, ebx
je 0x43065a
mov cl, byte [edx]
cmp cl, 0x7f
je 0x43065a
dec ebx
je 0x430639
mov eax, ebp
cmp edi, 0x10
jae 0x430634
lea eax, [esp + 0x3c]
cmp cl, byte [eax + ebx]
jne 0x430655
test ebx, ebx
jne 0x43064c
mov eax, ebp
cmp edi, 0x10
jae 0x430648
lea eax, [esp + 0x3c]
cmp cl, byte [eax]
jl 0x430655
cmp byte [edx + 1], 0
jle 0x43061b
inc edx
jmp 0x43061b
mov byte [esp + 0x1e], 1
mov byte [esp + 0x80], 1
cmp edi, 0x10
jb 0x430670
push ebp
call fcn.004533ae
add esp, 4
mov ebp, dword [esp + 0x28]
cmp byte [esp + 0x17], 0
je 0x43068e
cmp dword [esp + 0x24], 0
jne 0x43068e
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
inc eax
mov dword [esp + 0x18], eax
push ebp
mov ecx, esi
call fcn.0042ec60
test al, al
jne 0x4308b2
cmp byte [esi + 4], al
jne 0x430847
mov ecx, dword [esi]
test ecx, ecx
je 0x43083d
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x43082c
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x43082c
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x430833
push ebp
mov ecx, esi
call fcn.0042ec60
test al, al
jne 0x430674
nop
cmp byte [esi + 4], 0
jne 0x43071e
mov ecx, dword [esi]
test ecx, ecx
je 0x430714
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x430703
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x430703
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x43070a
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x430714
mov byte [esi + 5], al
jmp 0x43071a
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, 0x30
jl 0x430732
movsx ecx, al
cmp ecx, 0x39
jg 0x430732
lea ebx, [ecx - 0x30]
jmp 0x43075a
cmp al, 0x61
jl 0x430743
movsx ecx, al
cmp ecx, 0x66
jg 0x430743
lea ebx, [ecx - 0x57]
jmp 0x43075a
cmp al, 0x41
jl 0x430674
movsx eax, al
cmp eax, 0x46
jg 0x430674
lea ebx, [eax - 0x37]
test ebx, ebx
js 0x430674
mov edi, dword [esp + 0x24]
cmp edi, 0x24
jl 0x430771
inc dword [esp + 0x20]
jmp 0x4307cf
cmp byte [esi + 4], 0
jne 0x4307af
mov ecx, dword [esi]
test ecx, ecx
je 0x4307a5
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x430794
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x430794
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x43079b
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4307a5
mov byte [esi + 5], al
jmp 0x4307ab
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x4307b9
test edi, edi
je 0x4307cf
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 0x43080d
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x4307fb
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x4307fb
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 0x430802
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x43080d
mov byte [esi + 4], 0
jmp 0x430817
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.0042ec60
test al, al
je 0x4306e0
jmp 0x43067b
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x43083d
mov byte [esi + 5], al
jmp 0x430843
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 0x4308b2
call fcn.00456215
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 0x4308a8
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x430896
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x430896
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 0x43089d
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x4308a8
mov byte [esi + 4], 0
jmp 0x4308b2
mov dword [esi], 0
mov byte [esi + 4], 1
cmp dword [esp + 0x24], 0
mov ebp, dword [esp + 0x28]
jne 0x43098a
push ebp
mov ecx, esi
call fcn.0042ec60
mov edi, dword [esp + 0x20]
test al, al
jne 0x430976
cmp byte [esi + 4], 0
jne 0x430913
mov ecx, dword [esi]
test ecx, ecx
je 0x430909
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4308f8
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4308f8
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4308ff
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x430909
mov byte [esi + 5], al
jmp 0x43090f
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x430972
mov ecx, dword [esi]
dec edi
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x430958
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x430946
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x430946
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 0x43094d
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x430958
mov byte [esi + 4], 0
jmp 0x430962
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.0042ec60
test al, al
je 0x4308d5
mov dword [esp + 0x20], edi
test edi, edi
jns 0x43098a
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.0042ec60
test al, al
jne 0x430ac5
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
cmp byte [esi + 4], 0
jne 0x4309e0
mov ecx, dword [esi]
test ecx, ecx
je 0x4309d6
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x4309c5
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x4309c5
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x4309cc
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x4309d6
mov byte [esi + 5], al
jmp 0x4309dc
mov dword [esi], 0
mov byte [esi + 4], 1
mov al, byte [esi + 5]
cmp al, 0x30
jl 0x4309f4
movsx ecx, al
cmp ecx, 0x39
jg 0x4309f4
lea eax, [ecx - 0x30]
jmp 0x430a1c
cmp al, 0x61
jl 0x430a05
movsx ecx, al
cmp ecx, 0x66
jg 0x430a05
lea eax, [ecx - 0x57]
jmp 0x430a1c
cmp al, 0x41
jl 0x430ac1
movsx eax, al
cmp eax, 0x46
jg 0x430ac1
add eax, 0xffffffc9
test eax, eax
js 0x430ac1
cmp ebx, 0x24
jge 0x430a33
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 0x430a71
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x430a5f
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x430a5f
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 0x430a66
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x430a71
mov byte [esi + 4], 0
jmp 0x430a7b
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.0042ec60
test al, al
je 0x4309a2
mov dword [esp + 0x18], edi
push ebp
mov ecx, esi
call fcn.0042ec60
test al, al
jne 0x430e66
cmp byte [esi + 4], al
jne 0x430aed
mov ecx, dword [esi]
test ecx, ecx
je 0x430ae3
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x430ad2
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x430ad2
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x430ad9
mov dword [esp + 0x18], edi
cmp byte [esp + 0x17], 0
je 0x430e66
jmp 0x430a8f
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x430ae3
mov byte [esi + 5], al
jmp 0x430ae9
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x70
je 0x430b3b
cmp byte [esi + 4], 0
jne 0x430b31
mov ecx, dword [esi]
test ecx, ecx
je 0x430b27
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x430b16
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x430b16
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x430b1d
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x430b27
mov byte [esi + 5], al
jmp 0x430b2d
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x50
jne 0x430e66
mov edi, dword [esp + 0x18]
mov byte [edi], 0x70
mov ecx, dword [esi]
inc edi
mov dword [esp + 0x18], edi
test ecx, ecx
je 0x430b80
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x430b6e
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x430b6e
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 0x430b75
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x430b80
mov byte [esi + 4], 0
jmp 0x430b8a
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
mov byte [esp + 0x1b], 0
xor ebx, ebx
call fcn.0042ec60
test al, al
jne 0x430c64
cmp byte [esi + 4], bl
jne 0x430bd8
mov ecx, dword [esi]
test ecx, ecx
je 0x430bd2
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x430bc1
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x430bc1
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x430bc8
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x430bd2
mov byte [esi + 5], al
jmp 0x430bd4
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2b
jne 0x430be3
mov byte [edi], 0x2b
jmp 0x430c23
cmp byte [esi + 4], bl
jne 0x430c1a
mov ecx, dword [esi]
test ecx, ecx
je 0x430c14
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x430c03
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x430c03
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x430c0a
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x430c14
mov byte [esi + 5], al
jmp 0x430c16
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x2d
jne 0x430c64
mov byte [edi], 0x2d
mov ecx, dword [esi]
inc edi
mov dword [esp + 0x18], edi
test ecx, ecx
je 0x430c5e
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x430c4d
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x430c4d
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 0x430c54
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x430c5e
mov byte [esi + 4], bl
jmp 0x430c64
mov byte [esi + 4], 1
mov dword [esi], ebx
push ebp
mov ecx, esi
call fcn.0042ec60
test al, al
jne 0x430d16
cmp byte [esi + 4], bl
jne 0x430cab
mov ecx, dword [esi]
test ecx, ecx
je 0x430ca5
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x430c94
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x430c94
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x430c9b
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x430ca5
mov byte [esi + 5], al
jmp 0x430ca7
mov dword [esi], ebx
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jne 0x430d04
mov ecx, dword [esi]
mov byte [esp + 0x17], 1
test ecx, ecx
je 0x430cec
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x430cdb
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x430cdb
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 0x430ce2
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x430cec
mov byte [esi + 4], bl
jmp 0x430cf2
mov dword [esi], ebx
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.0042ec60
test al, al
je 0x430c74
jmp 0x430d0a
cmp byte [esp + 0x17], bl
je 0x430d16
mov eax, dword [esp + 0x18]
mov byte [eax], 0x30
inc eax
mov dword [esp + 0x18], eax
push ebp
mov ecx, esi
call fcn.0042ec60
test al, al
jne 0x430e66
mov edi, dword [esp + 0x18]
lea ebx, [ebx]
cmp byte [esi + 4], 0
jne 0x430d6e
mov ecx, dword [esi]
test ecx, ecx
je 0x430d64
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x430d53
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x430d53
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x430d5a
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x430d64
mov byte [esi + 5], al
jmp 0x430d6a
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x30
jl 0x430e62
cmp byte [esi + 4], 0
jne 0x430db6
mov ecx, dword [esi]
test ecx, ecx
je 0x430dac
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x430d9b
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x430d9b
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x430da2
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x430dac
mov byte [esi + 5], al
jmp 0x430db2
mov dword [esi], 0
mov byte [esi + 4], 1
cmp byte [esi + 5], 0x39
jg 0x430e62
cmp ebx, 8
jge 0x430e0a
cmp byte [esi + 4], 0
jne 0x430e03
mov ecx, dword [esi]
test ecx, ecx
je 0x430df9
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x430de8
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x430de8
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x430def
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
cmp eax, 0xffffffff
je 0x430df9
mov byte [esi + 5], al
jmp 0x430dff
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 0x430e48
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x430e36
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x430e36
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 0x430e3d
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
call edx
cmp eax, 0xffffffff
je 0x430e48
mov byte [esi + 4], 0
jmp 0x430e52
mov dword [esi], 0
mov byte [esi + 4], 1
push ebp
mov ecx, esi
call fcn.0042ec60
test al, al
je 0x430d30
mov dword [esp + 0x18], edi
cmp byte [esp + 0x1e], 0
jne 0x430e74
cmp byte [esp + 0x17], 0
jne 0x430e7a
mov eax, dword [esp + 0x30]
jmp 0x430e7e
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 0x430e9f
mov edx, dword [esp + 0x58]
push edx
call fcn.004533ae
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.0045407e
add esp, 0x70
ret