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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
mov dword [esp + 0x54], ecx
mov eax, dword [edx + 4]
mov ecx, dword [edx + 8]
mov dword [esp + 4], edx
cmp ecx, eax
mov dword [esp + 8], eax
jae 0x43b221
mov eax, dword [esp + 4]
mov edi, dword [esp + 8]
inc ecx
mov ebx, 0x800013
lea edx, [eax + 8]
mov eax, dword [eax]
neg edi
mov dword [esp + 0xc], edx
mov dl, byte [eax + ecx - 1]
cmp dl, 0x2c
jg 0x43b247
mov dh, dl
add dh, 0xf7
cmp dh, 0x19
ja 0x43b69d
movzx esi, dh
bt ebx, esi
jae 0x43b337
mov edx, dword [esp + 0xc]
lea esi, [edi + ecx + 1]
mov dword [edx], ecx
inc ecx
cmp esi, 1
jne 0x43b1ee
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 5
push edx
push eax
push ecx
call fcn.0045b3c0
add esp, 0xc
jmp 0x43b6c6
cmp dl, 0x6d
jg 0x43b29e
cmp dl, 0x2d
je 0x43b63f
cmp dl, 0x5b
je 0x43b372
cmp dl, 0x66
jne 0x43b69d
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
mov dword [edx], ecx
mov edx, 0xfffffffc
test edx, edx
je 0x43b715
cmp ecx, dword [esp + 8]
jae 0x43b90e
mov bl, byte [edx + str.rueull]
inc edx
cmp bl, byte [eax + ecx]
lea ecx, [ecx + 1]
mov dword [esi], ecx
je 0x43b276
jmp 0x43b682
cmp dl, 0x6e
je 0x43b650
cmp dl, 0x74
je 0x43b60b
cmp dl, 0x7b
jne 0x43b69d
mov edx, dword [esp + 4]
dec byte [edx + 0x18]
je 0x43b93e
cmp ecx, dword [esp + 8]
mov dword [edx + 8], ecx
mov dword [esp + 0xac], edx
jae 0x43b30a
inc ecx
mov edx, 0x800013
mov bl, byte [eax + ecx - 1]
mov bh, bl
add bh, 0xf7
cmp bh, 0x17
ja 0x43b72f
movzx esi, bh
bt edx, esi
jae 0x43b72f
mov esi, dword [esp + 0xc]
lea ebx, [edi + ecx + 1]
mov dword [esi], ecx
inc ecx
cmp ebx, 1
jne 0x43b2dc
mov esi, dword [esp + 4]
push esi
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 3
push edx
push eax
push ecx
call fcn.0045b3c0
mov edx, esi
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x43bfd3
cmp esi, 0x19
jne 0x43b69d
mov edx, dword [esp + 4]
lea esi, [esp + 0x28]
lea eax, [edx + 0xc]
mov dword [edx + 8], ecx
mov dword [edx + 0x14], 0
push eax
push edx
push esi
call fcn.0043fa00
add esp, 0xc
cmp dword [esi], 1
jne 0x43b7ff
mov eax, dword [esp + 0x2c]
jmp 0x43b6c6
mov edx, dword [esp + 4]
dec byte [edx + 0x18]
je 0x43b93e
mov esi, dword [esp + 0xc]
mov edi, dword [0x462060]
cmp ecx, dword [esp + 8]
mov dword [esi], ecx
mov dword [esp + 0x20], edi
jae 0x43bc8e
xor esi, esi
mov edi, 0x800013
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
lea ebx, [ecx + 2]
mov dl, byte [eax + ecx]
cmp dl, 0xc
jle 0x43b3c7
cmp dl, 0x1f
jle 0x43b3d3
cmp dl, 0x20
je 0x43b3d8
jmp 0x43b3eb
mov dh, dl
add dh, 0xf7
cmp dh, 2
jb 0x43b3d8
jmp 0x43b3f9
cmp dl, 0xd
jne 0x43b3f9
inc ecx
mov edx, dword [esp + 0xc]
inc ebx
cmp ecx, dword [esp + 8]
mov dword [edx], ecx
jb 0x43b3b3
jmp 0x43b931
cmp dl, 0x2c
je 0x43b40e
cmp dl, 0x5d
je 0x43b75d
test byte [esp + 0x10], 1
jne 0x43c1e9
cmp dl, 0x5d
jne 0x43b459
jmp 0x43bf5c
test byte [esp + 0x10], 1
je 0x43b459
inc ecx
mov edx, dword [esp + 0xc]
cmp ecx, dword [esp + 8]
mov dword [edx], ecx
jae 0x43b9da
neg dword [esp + 8]
mov dl, byte [eax + ebx - 1]
mov ecx, edx
add cl, 0xf7
cmp cl, 0x17
ja 0x43b404
movzx ecx, cl
bt edi, ecx
jae 0x43b404
mov ecx, dword [esp + 0xc]
mov dword [ecx], ebx
mov ecx, dword [esp + 8]
lea ecx, [ecx + ebx + 1]
inc ebx
cmp ecx, 1
jne 0x43b42a
jmp 0x43b9da
mov edx, dword [esp + 4]
lea ecx, [esp + 0x28]
call fcn.0043b1b0
cmp dword [esp + 0x28], 1
je 0x43bd02
lea eax, [esp + 0x31]
mov cl, byte [esp + 0x30]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
cmp cl, 6
movsd qword [esp + 0x60], xmm1
movq xmm1, qword [eax + 0xf]
movsd qword [esp + 0x58], xmm0
movq qword [esp + 0x67], xmm1
je 0x43b75d
mov eax, dword [esp + 0x14]
mov byte [esp + 0x10], cl
cmp esi, eax
jne 0x43b536
mov eax, esi
inc eax
je 0x43c22c
lea ecx, [esi + esi]
mov dword [esp + 8], esi
cmp ecx, eax
cmova eax, ecx
mov ecx, 4
cmp eax, 4
cmovbe eax, ecx
mov ecx, 0x18
xor ebx, ebx
mul ecx
seto dl
setno cl
xor esi, esi
test dl, dl
jne 0x43b50e
mov bl, cl
shl ebx, 3
lea ecx, [ebx - 1]
test ebx, ecx
sete cl
test ebx, ebx
setne dl
test dl, cl
je 0x43c231
lea eax, [ebx + eax - 1]
neg ebx
mov esi, 8
and ebx, eax
mov eax, dword [esp + 8]
test eax, eax
je 0x43b540
mov ecx, dword [esp + 0x20]
lea eax, [eax*8]
lea eax, [eax + eax*2]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 8
jmp 0x43b548
mov edx, dword [esp + 4]
mov dword [esp + 0x14], eax
jmp 0x43b595
mov dword [esp + 0x28], 0
lea eax, [esp + 0x28]
lea ecx, [esp + 0x90]
mov edx, ebx
push eax
push esi
call fcn.0043a650
add esp, 8
mov eax, dword [esp + 0x94]
cmp dword [esp + 0x90], 1
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x98]
je 0x43c228
mov ecx, 0xaaaaaaab
mov esi, dword [esp + 8]
mul ecx
shr edx, 4
mov dword [esp + 0x14], edx
mov edx, dword [esp + 4]
movsd xmm0, qword [esp + 0x67]
movsd xmm1, qword [esp + 0x60]
mov ecx, dword [esp + 0x20]
mov bl, byte [esp + 0x10]
lea eax, [esi + esi*2]
inc esi
movsd qword [esp + 0x37], xmm0
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x30], xmm1
movsd qword [esp + 0x28], xmm0
mov byte [ecx + eax*8], bl
movsd xmm0, qword [esp + 0x28]
movq xmm1, qword [esp + 0x30]
movsd qword [ecx + eax*8 + 1], xmm0
movq qword [ecx + eax*8 + 9], xmm1
movsd xmm0, qword [esp + 0x37]
movsd qword [ecx + eax*8 + 0x10], xmm0
mov eax, dword [edx + 4]
mov ecx, dword [edx + 8]
cmp ecx, eax
mov dword [esp + 8], eax
jae 0x43b935
mov eax, dword [edx]
mov dl, 1
mov dword [esp + 0x10], edx
jmp 0x43b3b0
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
mov dword [edx], ecx
mov edx, 0xfffffffd
test edx, edx
je 0x43b71b
cmp ecx, dword [esp + 8]
jae 0x43b90e
mov bl, byte [edx + 0x46211f]
inc edx
cmp bl, byte [eax + ecx]
lea ecx, [ecx + 1]
mov dword [esi], ecx
je 0x43b61a
jmp 0x43b682
mov edx, dword [esp + 4]
lea ebx, [esp + 0x58]
mov dword [edx + 8], ecx
mov ecx, ebx
push 0
jmp 0x43b6b5
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
mov dword [edx], ecx
mov edx, 0xfffffffd
test edx, edx
je 0x43b726
cmp ecx, dword [esp + 8]
jae 0x43b90e
mov bl, byte [edx + 0x462122]
inc edx
cmp bl, byte [eax + ecx]
lea ecx, [ecx + 1]
mov dword [esi], ecx
je 0x43b65f
push dword [esp + 4]
call fcn.0043f960
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 0xa
jmp 0x43b237
add dl, 0xd0
cmp dl, 0xa
jae 0x43ba02
mov edx, dword [esp + 4]
lea ebx, [esp + 0x58]
mov ecx, ebx
push 1
call fcn.00438460
add esp, 4
cmp dword [ebx], 1
jne 0x43b6da
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
mov dword [ecx + 4], eax
mov eax, ecx
mov dword [ecx], 1
jmp 0x43c194
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
test ecx, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 8], edi
je 0x43b88e
mov al, 2
cmp ecx, 1
mov dword [esp + 0x18], 0
je 0x43b926
shr edx, 0x1f
mov dword [esp + 0x18], edx
jmp 0x43b926
xor edx, edx
mov al, 1
jmp 0x43b728
xor esi, esi
mov al, 1
mov dl, 1
jmp 0x43c162
xor eax, eax
xor esi, esi
jmp 0x43c162
cmp bl, 0x7d
jne 0x43b836
mov al, 1
mov dword [esp + 8], 0
mov dword [esp + 0x14], eax
xor edi, edi
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
jmp 0x43b885
mov al, 1
mov dword [esp + 8], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 4]
inc byte [eax + 0x18]
mov edi, dword [eax + 4]
mov eax, dword [eax + 8]
cmp eax, edi
jae 0x43b7ce
mov ecx, dword [esp + 4]
mov edx, edi
inc eax
neg edx
mov ecx, dword [ecx]
mov bl, byte [ecx + eax - 1]
cmp bl, 0xc
jle 0x43b7a8
cmp bl, 0x1f
jle 0x43b7b5
cmp bl, 0x20
je 0x43b7be
jmp 0x43b7e9
add bl, 0xf7
cmp bl, 2
jb 0x43b7be
jmp 0x43bdeb
cmp bl, 0xd
jne 0x43bdeb
mov esi, dword [esp + 0xc]
lea ebx, [edx + eax + 1]
mov dword [esi], eax
inc eax
cmp ebx, 1
jne 0x43b793
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 2
jmp 0x43be01
cmp bl, 0x5d
jne 0x43bcb2
mov ecx, dword [esp + 0xc]
xor ebx, ebx
mov dword [ecx], eax
jmp 0x43be0e
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x2c], 0
test edi, edi
js 0x43c22c
test edi, edi
je 0x43b8c1
push 1
push edi
call fcn.00401210
add esp, 8
mov ebx, eax
test eax, eax
jne 0x43b8c4
jmp 0x43b906
mov eax, dword [esp + 4]
cmp bl, 0x22
mov byte [esp + 0xb0], 0
jne 0x43bdaa
lea ebx, [eax + 0xc]
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
lea esi, [esp + 0x28]
push ebx
push eax
push esi
call fcn.0043fa00
add esp, 0xc
cmp dword [esi], 1
jne 0x43b8d8
mov eax, dword [esp + 0x2c]
xor edi, edi
mov dword [esp + 0x14], 0
inc edi
mov dword [esp + 0x10], eax
mov al, 1
mov dword [esp + 8], eax
mov edx, dword [esp + 4]
jmp 0x43bfe4
mov eax, edx
movsd xmm2, qword [0x461ab0]
movd xmm0, edi
mov byte [esp + 0x28], 0
and eax, 0x7fffffff
movd xmm1, eax
punpckldq xmm0, xmm1
ucomisd xmm2, xmm0
jbe 0x43b91c
lea ecx, [esp + 0x28]
call fcn.00439880
mov al, 2
jmp 0x43b91e
xor ebx, ebx
inc ebx
push edi
push esi
push ebx
call fcn.0045c562
add esp, 0xc
mov al, 3
mov esi, edi
jmp 0x43c162
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x2c], 0
mov dword [esp + 8], ebx
test edi, edi
js 0x43c22c
test edi, edi
je 0x43b956
push 1
push edi
call fcn.00401210
add esp, 8
mov ebx, eax
test eax, eax
jne 0x43b959
push 1
push edi
call fcn.004584c0
push dword [esp + 4]
call fcn.0043f960
jmp 0x43b22a
xor eax, eax
mov dword [esp + 0x18], 2
mov edi, dword [esp + 0x18]
xor esi, esi
jmp 0x43c162
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x14]
jmp 0x43bc92
push edx
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 0x17
jmp 0x43b237
xor ebx, ebx
inc ebx
push edi
push esi
push ebx
call fcn.0045c562
add esp, 0xc
mov al, 1
test ebx, ebx
je 0x43b9c9
lea esi, [esp + 0x28]
mov dword [esp + 0x14], eax
xor eax, eax
lea edx, [esp + 0xac]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], edi
mov ecx, esi
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
call fcn.0043a6f0
cmp dword [esi], 1
jne 0x43ba2c
mov eax, dword [esp + 0x2c]
test edi, edi
mov dword [esp + 0x10], eax
je 0x43bfcf
push 1
push edi
push ebx
call fcn.00402300
add esp, 0xc
jmp 0x43bfcf
mov dword [esp + 0x14], eax
mov dword [esp + 8], 0
jmp 0x43b746
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
mov dword [esp + 0x28], 5
push edx
push eax
lea eax, [esp + 0x30]
push eax
call fcn.0045b3c0
add esp, 0xc
jmp 0x43bd06
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 0xb
push edx
push eax
push ecx
call fcn.0045b3c0
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x43c19c
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x30]
movq xmm1, qword [esp + 0x38]
lea eax, [esp + 0x58]
lea ebx, [esp + 0x90]
lea esi, [esp + 0x80]
lea edx, [esp + 0x74]
mov ecx, ebx
movsd qword [eax + 0x10], xmm0
movq qword [eax + 8], xmm1
movsd qword [eax], xmm2
push eax
push esi
call fcn.004386a0
add esp, 8
cmp byte [ebx], 6
je 0x43ba7f
lea ecx, [esp + 0x90]
call fcn.00439880
mov eax, dword [esp + 4]
mov esi, dword [eax + 4]
mov ebx, dword [eax + 8]
cmp ebx, esi
jae 0x43bc75
mov edi, 0x800013
mov eax, dword [esp + 4]
lea ecx, [ebx + 2]
mov edx, dword [eax]
mov al, byte [edx + ebx]
cmp al, 0xc
jle 0x43bab0
cmp al, 0x1f
jle 0x43babb
cmp al, 0x20
je 0x43bac3
jmp 0x43bad4
add al, 0xf7
cmp al, 2
jb 0x43bac3
jmp 0x43bf46
cmp al, 0xd
jne 0x43bf46
mov eax, dword [esp + 0xc]
inc ebx
inc ecx
cmp ebx, esi
mov dword [eax], ebx
jb 0x43ba9f
jmp 0x43bc75
cmp al, 0x2c
jne 0x43bd7b
mov eax, dword [esp + 0xc]
inc ebx
cmp ebx, esi
mov dword [eax], ebx
jae 0x43bf16
neg esi
mov al, byte [edx + ecx - 1]
mov ah, al
add ah, 0xf7
cmp ah, 0x19
ja 0x43bf2c
movzx ebx, ah
bt edi, ebx
jae 0x43bb1c
mov eax, dword [esp + 0xc]
lea ebx, [esi + ecx + 1]
mov dword [eax], ecx
inc ecx
cmp ebx, 1
jne 0x43baed
jmp 0x43bf16
cmp ebx, 0x19
jne 0x43bf2c
mov eax, dword [esp + 4]
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
push dword [esp + 8]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.0043fa00
add esp, 0xc
cmp dword [esp + 0x28], 1
je 0x43c202
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x2c], 0
test esi, esi
js 0x43c22c
mov ebx, 1
je 0x43bb89
push 1
push esi
mov dword [esp + 0x28], eax
call fcn.00401210
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0x20]
test ebx, ebx
je 0x43c256
push esi
push eax
push ebx
call fcn.0045c562
add esp, 0xc
test ebx, ebx
je 0x43bd83
lea ecx, [esp + 0x28]
lea edx, [esp + 0xac]
call fcn.0043a6f0
cmp dword [esp + 0x28], 1
je 0x43c20b
lea ecx, [esp + 0x31]
mov al, byte [esp + 0x30]
movsd xmm1, qword [ecx + 8]
movsd xmm0, qword [ecx]
cmp al, 6
movsd qword [esp + 0x98], xmm1
movq xmm1, qword [ecx + 0xf]
movsd qword [esp + 0x90], xmm0
movq qword [esp + 0x9f], xmm1
je 0x43bd83
movsd xmm0, qword [esp + 0x9f]
movsd xmm2, qword [esp + 0x90]
movq xmm1, qword [esp + 0x98]
mov byte [esp + 0x28], al
lea eax, [esp + 0x31]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], esi
lea ecx, [esp + 0x58]
lea edx, [esp + 0x74]
movsd qword [eax + 7], xmm0
movq qword [eax], xmm1
movsd qword [eax - 8], xmm2
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.004386a0
add esp, 8
cmp byte [esp + 0x58], 6
je 0x43bc63
lea ecx, [esp + 0x58]
call fcn.00439880
mov eax, dword [esp + 4]
mov esi, dword [eax + 4]
mov ebx, dword [eax + 8]
cmp ebx, esi
jb 0x43ba96
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
mov dword [esp + 0x28], 3
jmp 0x43bf89
xor ebx, ebx
xor esi, esi
push edx
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 2
push edx
push eax
push ecx
call fcn.0045b3c0
add esp, 0xc
jmp 0x43bd0a
cmp bl, 0x2c
jne 0x43bdeb
mov esi, dword [esp + 0xc]
cmp eax, edi
mov dword [esi], eax
jae 0x43bdeb
inc eax
mov esi, 0x800013
mov bl, byte [ecx + eax - 1]
mov bh, bl
add bh, 0xf7
cmp bh, 0x17
ja 0x43bdce
movzx edi, bh
bt esi, edi
jae 0x43bdce
mov edi, dword [esp + 0xc]
lea ebx, [edx + eax + 1]
mov dword [edi], eax
inc eax
cmp ebx, 1
jne 0x43bccf
jmp 0x43bdeb
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
test esi, esi
mov dword [esp + 8], esi
je 0x43bd37
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
lea eax, [eax*8]
lea esi, [eax + eax*2]
lea edi, [ecx + 0x18]
call fcn.00439880
add esi, 0xffffffe8
mov ecx, edi
jne 0x43bd28
xor eax, eax
mov dword [esp + 0x24], 0
inc eax
test ebx, ebx
mov dword [esp + 0x1c], eax
mov al, 1
mov dword [esp + 0x18], eax
je 0x43bd76
shl ebx, 3
lea eax, [ebx + ebx*2]
test eax, eax
je 0x43bd76
push 8
push eax
push dword [esp + 0x28]
call fcn.00402300
add esp, 0xc
mov dword [esp + 0x24], 0
jmp 0x43b777
jmp 0x43b777
cmp al, 0x7d
jne 0x43bf46
mov eax, dword [esp + 0x74]
mov dword [esp + 8], 0
xor edi, edi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
jmp 0x43b885
push eax
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 0x12
push edx
push eax
push ecx
call fcn.0045b3c0
mov edx, dword [esp + 0x10]
jmp 0x43b32b
cmp bl, 0x5d
jne 0x43bdeb
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 0x14
jmp 0x43be01
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 0x15
push edx
push eax
push ecx
call fcn.0045b3c0
add esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
cmp byte [esp + 0x18], 0
mov esi, dword [esp + 0x14]
mov dword [esp + 0x28], eax
movzx eax, word [esp + 0x80]
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x30], 4
mov word [esp + 0x31], ax
mov al, byte [esp + 0x82]
mov byte [esp + 0x33], al
mov dword [esp + 0x34], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], ebx
je 0x43be69
xor edx, edx
xor edi, edi
mov dword [esp + 0x1c], eax
inc edx
jmp 0x43bee4
test ebx, ebx
je 0x43be8a
cmp byte [esp + 0x24], 0
je 0x43bebe
lea ecx, [esp + 0x30]
call fcn.00439880
xor edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ebx
inc edx
jmp 0x43bf08
mov al, byte [esp + 0x31]
xor edx, edx
movzx esi, word [esp + 0x32]
cmp byte [esp + 0x24], 0
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
je 0x43bec5
jmp 0x43bf08
xor edx, edx
mov dword [esp + 0x1c], eax
inc edx
test ebx, ebx
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x2c]
mov word [esp + 0xc], si
mov esi, edx
setne al
mov edi, eax
call fcn.00439800
mov edx, esi
mov ecx, ebx
test ebx, ebx
mov dword [esp + 0x10], ecx
je 0x43beff
mov eax, edi
test al, al
jne 0x43beff
lea ecx, [esp + 0x48]
mov edi, edx
call fcn.00439800
mov edx, edi
movzx esi, word [esp + 0xc]
mov ecx, dword [esp + 0x24]
mov word [esp + 0xc], si
mov esi, ecx
mov al, 4
jmp 0x43c152
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
mov dword [esp + 0x28], 5
jmp 0x43bf89
cmp al, 0x7d
jne 0x43bf75
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
mov dword [esp + 0x28], 0x14
jmp 0x43bf89
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
mov dword [esp + 0x28], 8
jmp 0x43bf89
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
mov dword [esp + 0x28], 0x14
jmp 0x43b9ee
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
mov dword [esp + 0x28], 0x12
push edx
push eax
lea eax, [esp + 0x30]
push eax
call fcn.0045b3c0
add esp, 0xc
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
test eax, eax
je 0x43bfcf
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x43bfb5
mov eax, dword [eax + 0x198]
dec ecx
jne 0x43bfac
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 0x28]
xor esi, esi
mov dword [ecx], esi
mov dword [ecx + 4], eax
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edx
call fcn.004395d0
mov edx, dword [esp + 4]
xor edi, edi
mov al, 1
mov dword [esp + 0x14], 0
mov dword [esp + 8], eax
inc edi
inc byte [edx + 0x18]
mov ecx, dword [edx + 4]
mov eax, dword [edx + 8]
cmp eax, ecx
jae 0x43c035
mov edx, dword [esp + 4]
inc eax
neg ecx
mov edx, dword [edx]
mov bl, byte [edx + eax - 1]
cmp bl, 0xc
jle 0x43c00f
cmp bl, 0x1f
jle 0x43c01c
cmp bl, 0x20
je 0x43c025
jmp 0x43c05a
add bl, 0xf7
cmp bl, 2
jb 0x43c025
jmp 0x43c1ce
cmp bl, 0xd
jne 0x43c1ce
mov esi, dword [esp + 0xc]
lea ebx, [ecx + eax + 1]
mov dword [esi], eax
inc eax
cmp ebx, 1
jne 0x43bffa
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 3
push edx
push eax
push ecx
call fcn.0045b3c0
add esp, 0xc
mov ebx, eax
jmp 0x43c06b
cmp bl, 0x7d
jne 0x43c1ae
mov ecx, dword [esp + 0xc]
xor ebx, ebx
mov dword [ecx], eax
mov ecx, dword [esp + 0x10]
movzx eax, word [esp + 0x8d]
mov dword [esp + 0x28], edi
mov edx, dword [esp + 0x20]
cmp byte [esp + 8], 0
mov esi, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x30], 5
mov word [esp + 0x31], ax
mov al, byte [esp + 0x8f]
mov byte [esp + 0x33], al
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], ebx
je 0x43c0c2
xor edi, edi
xor edx, edx
mov dword [esp + 0x1c], eax
inc edi
jmp 0x43c12b
test ebx, ebx
je 0x43c0e3
cmp byte [esp + 0x14], 0
je 0x43c107
lea ecx, [esp + 0x30]
call fcn.00439880
xor edi, edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], eax
inc edi
jmp 0x43c149
mov al, byte [esp + 0x31]
xor edi, edi
movzx edx, word [esp + 0x32]
cmp byte [esp + 0x14], 0
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
je 0x43c10e
jmp 0x43c149
xor edi, edi
mov dword [esp + 0x1c], eax
inc edi
test ebx, ebx
lea ecx, [esp + 0x2c]
mov word [esp + 0xc], dx
mov dword [esp + 0x24], esi
setne al
mov esi, eax
call fcn.00439800
mov edx, esi
mov ecx, ebx
test ebx, ebx
mov dword [esp + 0x10], ecx
je 0x43c140
test dl, dl
jne 0x43c140
lea ecx, [esp + 0x48]
call fcn.00439800
movzx edx, word [esp + 0xc]
mov esi, dword [esp + 0x24]
mov word [esp + 0xc], dx
mov al, 5
mov edx, edi
test edx, edx
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
jne 0x43c19c
mov ecx, dword [esp + 0x54]
mov byte [ecx + 8], al
mov byte [ecx + 9], dl
mov eax, ecx
movzx ecx, word [esp + 0xc]
mov edx, dword [esp + 0x14]
mov word [eax + 0xa], cx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x14], esi
mov esi, dword [esp + 8]
mov dword [eax + 0x10], edi
mov dword [eax + 0x1c], edx
mov dword [eax + 0x18], esi
mov dword [eax], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
call fcn.0045b270
jmp 0x43b6c6
cmp bl, 0x2c
jne 0x43c1ce
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 0x14
jmp 0x43c04b
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
lea ecx, [esp + 0x28]
mov dword [ecx], 0x15
jmp 0x43c04b
push dword [esp + 4]
call fcn.0043f9b0
add esp, 4
mov dword [esp + 0x28], 7
jmp 0x43b9ee
mov eax, dword [esp + 0x2c]
jmp 0x43bf98
mov eax, esi
mov esi, dword [esp + 0x2c]
test eax, eax
je 0x43c221
push 1
push eax
push ebx
call fcn.00402300
add esp, 0xc
mov eax, esi
jmp 0x43bf98
test eax, eax
jne 0x43c24c
call fcn.004081c0
push 0x461d88
push 0x461e00
lea eax, [esp + 0x30]
push eax
push 0x2b
push 0x461dd4
call fcn.00458a70
push eax
push dword [esp + 0x24]
call fcn.004584c0
push 1
push esi
call fcn.004584c0
int3