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

Disassembly:
sub esp, 0x4dc
mov eax, dword [0x4baad8]
xor eax, esp
mov dword [esp + 0x4d8], eax
mov eax, dword [esp + 0x4e0]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x4f0]
cmp byte [esi], 0
push edi
mov ebp, ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x34], 0
je 0x43ea59
push 0x10c
push 0
push eax
call fcn.0045ab70
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43e716
sub eax, edx
add dword [ebp + 0x7c], eax
mov eax, dword [ebp + 0x5c]
push 0x4921c8
push esi
mov dword [ebp + 0x58], eax
call fcn.0045a2c0
add esp, 8
test eax, eax
je 0x43e741
mov dword [ebp + 0x58], 0x20
lea edx, [esp + 0x2e0]
sub edx, esi
mov eax, esi
mov dword [esp + 0x54], edx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x43e750
mov edi, dword [ebp + 0x5c]
xor eax, eax
lea ebx, [esp + 0x2e0]
mov dword [ebp + 0x54], eax
mov dword [esp + 0x3c], eax
cmp byte [esp + 0x2e0], al
je 0x43e9b0
lea ebx, [ebx]
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
shl eax, 8
or eax, ecx
push eax
call fcn.0045ba04
add esp, 4
test eax, eax
je 0x43e8c6
push 2
push 0x48b80c
push ebx
call fcn.0045aa6a
add esp, 0xc
test eax, eax
jne 0x43e8bb
push 0x104
push eax
lea edx, [esp + 0x1e4]
push edx
call fcn.0045ab70
lea edx, [esp + 0xe4]
add esp, 0xc
mov eax, ebx
sub edx, ebx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x43e7d6
lea eax, [esp + 0xd8]
push 0x48b80c
push eax
call fcn.0045a2c0
lea ecx, [esp + 0xe0]
mov esi, eax
push 0x48b494
push ecx
add esi, 2
call fcn.0045a2c0
lea edx, [esp + 0x1ec]
add esp, 0x10
mov byte [eax], 0
mov eax, esi
sub edx, esi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x43e820
lea eax, [esp + 0x1dc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43e834
sub eax, edx
lea edx, [eax + eax*2]
add edx, edx
add edx, edx
cmp dword [esp + 0x3c], edx
jae 0x43e86a
lea eax, [esp + 0x1dc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43e854
sub eax, edx
shr eax, 1
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
mov dword [esp + 0x3c], eax
push 0x48b494
push ebx
call fcn.0045a2c0
mov esi, eax
push 2
add esi, 2
push 0x48b490
push esi
call fcn.0045aa6a
add esp, 0x14
test eax, eax
je 0x43e8af
mov eax, edi
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
add dword [ebp + 0x54], ebx
push 2
inc esi
push 0x48b490
push esi
call fcn.0045aa6a
add esp, 0xc
test eax, eax
jne 0x43e897
lea ebx, [esi + 2]
mov esi, dword [esp + 0x2c]
jmp 0x43e9a7
add dword [ebp + 0x54], edi
add ebx, 2
jmp 0x43e9a7
cmp byte [ebx], 0x40
jne 0x43e98b
mov al, byte [ebx + 1]
mov dword [esp + 0x34], 0
cmp al, 0x6d
jne 0x43e8f4
cmp edi, 0x16
jge 0x43e986
mov edi, 0x16
add ebx, 2
jmp 0x43e9a7
cmp al, 0x6c
jne 0x43e90e
cmp edi, 0x20
jge 0x43e986
mov edi, 0x20
add ebx, 2
jmp 0x43e9a7
cmp al, 0x73
jne 0x43e924
cmp edi, 0x14
jge 0x43e986
mov edi, 0x14
add ebx, 2
jmp 0x43e9a7
cmp al, 0x69
jne 0x43e937
cmp edi, 0x12
jge 0x43e986
mov edi, 0x12
add ebx, 2
jmp 0x43e9a7
cmp al, 0x72
jne 0x43e94a
cmp edi, 0xc
jge 0x43e986
mov edi, 0xc
add ebx, 2
jmp 0x43e9a7
cmp al, 0x79
jne 0x43e95d
cmp edi, 0x10
jge 0x43e986
mov edi, 0x10
add ebx, 2
jmp 0x43e9a7
cmp al, 0x7a
jne 0x43e970
cmp edi, 0xa
jge 0x43e986
mov edi, 0xa
add ebx, 2
jmp 0x43e9a7
cmp al, 0x77
jne 0x43e986
cmp edi, 0x16
jge 0x43e97e
mov edi, 0x16
mov dword [esp + 0x34], 1
add ebx, 2
jmp 0x43e9a7
cmp dword [esp + 0x34], 0
je 0x43e99c
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add dword [ebp + 0x54], eax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add dword [ebp + 0x54], eax
inc ebx
cmp byte [ebx], 0
jne 0x43e780
mov eax, dword [esp + 0x3c]
cmp eax, dword [ebp + 0x54]
jle 0x43e9be
mov dword [ebp + 0x54], eax
jmp 0x43e9c6
mov dword [esp + 0x3c], 0
mov ecx, dword [ebp + 0xac]
mov eax, dword [ebp + 0x58]
mov edx, dword [ebp + 0x54]
push 1
push ecx
add eax, 0xc
push esi
push eax
mov eax, dword [0x4c0874]
mov ecx, dword [eax + 0xfc]
add edx, 4
push edx
call fcn.0044c2b0
mov edi, dword [esp + 0x64]
mov ecx, edi
sub ecx, esi
mov dword [edi], eax
mov eax, esi
lea edx, [ecx + 8]
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x43ea00
mov eax, dword [edi]
test eax, eax
je 0x43ea59
mov edx, dword [0x4c0874]
mov ecx, dword [edx + 0xfc]
push eax
call fcn.0044b000
push 0
push 0
mov esi, eax
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
lea ecx, [esp + 0x60]
push ecx
push 0
push esi
mov dword [esp + 0xac], esi
call edx
test eax, eax
jge 0x43ea60
mov eax, dword [esi]
mov ecx, dword [eax + 0x50]
push 0
push esi
call ecx
push str.FONT:
call fcn.0045e4b1
add esp, 4
xor eax, eax
jmp 0x43f5d7
mov edx, dword [0x4c086c]
push edx
mov dword [esp + 0x28], 2
call dword [0x48b2b8]
mov esi, dword [0x48b040]
mov ebx, eax
mov eax, dword [ebp + 4]
push eax
push ebx
mov dword [esp + 0x3c], ebx
call esi
lea ecx, [esp + 0xa0]
push ecx
mov edi, eax
push ebx
mov dword [esp + 0x1c], edi
call dword [0x48b03c]
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x1c], eax
cmp eax, 0x16
je 0x43eb82
push edi
push ebx
call esi
mov edx, dword [0x4c086c]
push ebx
push edx
call dword [0x48b2ac]
mov eax, dword [0x4c086c]
push eax
call dword [0x48b2b8]
mov ebx, eax
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x5c]
cmp eax, 0x20
jne 0x43eaed
mov ecx, dword [ebp + 0x18]
push ecx
push ebx
call esi
mov dword [esp + 0x1c], 0x20
jmp 0x43eb6f
cmp eax, 0x14
jne 0x43eb03
mov edx, dword [ebp + 0xc]
push edx
push ebx
call esi
mov dword [esp + 0x1c], 0x14
jmp 0x43eb6f
cmp eax, 0x12
jne 0x43eb19
mov eax, dword [ebp + 0x10]
push eax
push ebx
call esi
mov dword [esp + 0x1c], 0x12
jmp 0x43eb6f
cmp eax, 0xc
jne 0x43eb2f
mov ecx, dword [ebp + 0x14]
push ecx
push ebx
call esi
mov dword [esp + 0x1c], 0xc
jmp 0x43eb6f
cmp eax, 0x16
jne 0x43eb45
mov edx, dword [ebp + 8]
push edx
push ebx
call esi
mov dword [esp + 0x1c], 0x16
jmp 0x43eb6f
cmp eax, 0x10
jne 0x43eb5b
mov eax, dword [ebp + 0x1c]
push eax
push ebx
call esi
mov dword [esp + 0x1c], 0x10
jmp 0x43eb6f
cmp eax, 0xa
jne 0x43eb73
mov ecx, dword [ebp + 0x20]
push ecx
push ebx
call esi
mov dword [esp + 0x1c], 0xa
mov dword [esp + 0x14], eax
lea edx, [esp + 0xa0]
push edx
push ebx
call dword [0x48b03c]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x54]
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x43eb90
lea eax, [esp + 0x2e0]
mov dword [esp + 0x28], eax
cmp byte [esp + 0x2e0], cl
je 0x43f506
mov esi, dword [esp + 0x28]
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
push eax
call fcn.0045ba04
add esp, 4
test eax, eax
je 0x43edb4
push 2
push 0x48b80c
push esi
call fcn.0045aa6a
add esp, 0xc
test eax, eax
jne 0x43ed7e
push 0x104
push eax
lea edx, [esp + 0x1e4]
push edx
mov dword [esp + 0x38], 1
call fcn.0045ab70
push 0x104
lea eax, [esp + 0xe8]
push 0
push eax
call fcn.0045ab70
mov cx, word [0x48b618]
mov dl, byte [0x48b61a]
mov ax, word [0x4921a0]
mov edi, 2
push edi
mov word [esp + 0x1f8], cx
mov cl, byte [0x4921a2]
add esi, 2
push 0x48b490
push esi
mov byte [esp + 0x202], dl
mov word [esp + 0xfc], ax
mov byte [esp + 0xfe], cl
mov dword [esp + 0x4c], esi
call fcn.0045aa6a
add esp, 0x24
test eax, eax
je 0x43ecc5
cmp dword [esp + 0x2c], 0
je 0x43eca2
mov dl, byte [esi]
push 2
inc esi
push 0x48b494
push esi
mov byte [esp + edi + 0x1e8], dl
call fcn.0045aa6a
add esp, 0xc
test eax, eax
jne 0x43ecac
mov edi, 2
mov dword [esp + 0x2c], eax
add esi, edi
jmp 0x43ecad
mov al, byte [esi]
mov byte [esp + edi + 0xd8], al
inc esi
inc edi
push 2
push 0x48b490
push esi
call fcn.0045aa6a
add esp, 0xc
test eax, eax
jne 0x43ec70
mov dword [esp + 0x28], esi
mov edx, dword [esp + 0x3c]
mov eax, dword [ebp + 0x48]
lea ecx, [esp + 0xd8]
push ecx
push edx
mov edx, dword [esp + 0x64]
push 0xc
push eax
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x1ec]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
sub esp, 0x38
mov edi, esp
push ebx
mov ecx, 0xe
lea esi, [esp + 0xfc]
push 1
rep movsd dword es:[edi], dword [esi]
push edx
mov ecx, ebp
call fcn.0043d4e0
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x48]
push 0
push eax
mov eax, dword [esp + 0x64]
push 0x16
push ecx
mov ecx, dword [esp + 0x68]
lea edx, [esp + 0xe8]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edx
sub esp, 0x38
mov edi, esp
push ebx
mov ecx, 0xe
lea esi, [esp + 0xfc]
push 0xa
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, ebp
call fcn.0043d4e0
lea eax, [esp + 0xd8]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43ed61
sub eax, esi
add eax, 0xfffffffe
imul eax, eax, 0xb
add dword [esp + 0x24], eax
add dword [esp + 0x28], 2
jmp 0x43f4f9
movsx edi, byte [esi + 1]
movsx ecx, byte [esi]
and edi, 0xff
shl ecx, 8
or edi, ecx
add esi, 2
mov dword [esp + 0x28], esi
mov eax, esi
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43eda0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
jmp 0x43f012
mov al, byte [esi]
cmp al, 0x40
jne 0x43eff5
cmp byte [esi + 1], 0x63
jne 0x43ef02
cmp byte [esi + 2], 0x72
jne 0x43edde
push 0
push 0
push 0xff
mov ecx, ebp
call fcn.0043d4c0
cmp byte [esi + 2], 0x67
jne 0x43edf4
push 0
push 0xff
push 0
mov ecx, ebp
call fcn.0043d4c0
cmp byte [esi + 2], 0x62
jne 0x43ee0a
push 0xff
push 0
push 0
mov ecx, ebp
call fcn.0043d4c0
cmp byte [esi + 2], 0x77
jne 0x43ee26
push 0xff
push 0xff
push 0xff
mov ecx, ebp
call fcn.0043d4c0
cmp byte [esi + 2], 0x6b
jne 0x43ee39
push 0
push 0
push 0
mov ecx, ebp
call fcn.0043d4c0
movzx edx, byte [esi + 2]
push edx
call fcn.0045a9bd
add esp, 4
test eax, eax
je 0x43eeaa
movzx eax, byte [esi + 3]
push eax
call fcn.0045a9bd
add esp, 4
test eax, eax
je 0x43eeaa
mov cl, byte [esi + 2]
mov dl, byte [esi + 3]
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0x34], cl
mov byte [esp + 0x35], dl
mov byte [esp + 0x36], 0
call fcn.0045b871
movzx ecx, byte [eax*4 + 0x4b31b2]
movzx edx, byte [eax*4 + 0x4b31b0]
movzx eax, byte [eax*4 + 0x4b31b1]
add esp, 4
push ecx
push edx
push eax
mov ecx, ebp
call fcn.0043d4c0
inc esi
add esi, 3
mov dword [esp + 0x28], esi
jmp 0x43f4f9
movzx ecx, byte [esi + 2]
push ecx
call fcn.0045a9bd
add esp, 4
test eax, eax
je 0x43eef6
mov dl, byte [esi + 2]
lea eax, [esp + 0x30]
push eax
mov byte [esp + 0x34], dl
mov byte [esp + 0x35], 0
call fcn.0045b871
movzx ecx, byte [eax*4 + 0x4b31b2]
movzx edx, byte [eax*4 + 0x4b31b0]
movzx eax, byte [eax*4 + 0x4b31b1]
add esp, 4
push ecx
push edx
push eax
mov ecx, ebp
call fcn.0043d4c0
add esi, 3
mov dword [esp + 0x28], esi
jmp 0x43f4f9
mov ecx, dword [esp + 0x14]
mov edi, dword [0x48b040]
push ecx
push ebx
call edi
mov edx, dword [0x4c086c]
push ebx
push edx
call dword [0x48b2ac]
mov eax, dword [0x4c086c]
push eax
call dword [0x48b2b8]
mov ebx, eax
mov al, byte [esi + 1]
mov dword [esp + 0x34], ebx
cmp al, 0x6c
jne 0x43ef4c
mov ecx, dword [ebp + 0x18]
push ecx
push ebx
call edi
mov dword [esp + 0x14], eax
mov eax, 0x20
jmp 0x43efd3
cmp al, 0x73
jne 0x43ef62
mov edx, dword [ebp + 0xc]
push edx
push ebx
call edi
mov dword [esp + 0x14], eax
mov eax, 0x14
jmp 0x43efd3
cmp al, 0x69
jne 0x43ef78
mov eax, dword [ebp + 0x10]
push eax
push ebx
call edi
mov dword [esp + 0x14], eax
mov eax, 0x12
jmp 0x43efd3
cmp al, 0x72
jne 0x43ef8e
mov ecx, dword [ebp + 0x14]
push ecx
push ebx
call edi
mov dword [esp + 0x14], eax
mov eax, 0xc
jmp 0x43efd3
cmp al, 0x77
jne 0x43ef97
mov edx, dword [ebp + 8]
jmp 0x43efc6
cmp al, 0x79
jne 0x43efad
mov eax, dword [ebp + 0x1c]
push eax
push ebx
call edi
mov dword [esp + 0x14], eax
mov eax, 0x10
jmp 0x43efd3
cmp al, 0x7a
jne 0x43efc3
mov ecx, dword [ebp + 0x20]
push ecx
push ebx
call edi
mov dword [esp + 0x14], eax
mov eax, 0xa
jmp 0x43efd3
mov edx, dword [ebp + 4]
push edx
push ebx
call edi
mov dword [esp + 0x14], eax
mov eax, 0x16
mov dword [esp + 0x1c], eax
mov dword [ebp + 0x5c], eax
lea eax, [esp + 0xa0]
push eax
push ebx
call dword [0x48b03c]
add esi, 2
mov dword [esp + 0x28], esi
jmp 0x43f4f9
mov ecx, dword [esp + 0x1c]
movsx edi, al
mov eax, ecx
cdq
inc esi
sub eax, edx
and edi, 0xff
mov dword [esp + 0x28], esi
sar eax, 1
mov dword [esp + 0x60], ecx
mov dword [esp + 0x40], eax
xor eax, eax
xor ecx, ecx
mov word [esp + 0x8c], ax
mov word [esp + 0x92], ax
mov edx, 1
mov word [esp + 0x8a], dx
lea eax, [esp + 0x88]
push eax
push ecx
xor edx, edx
push ecx
mov word [esp + 0x9c], dx
mov word [esp + 0x94], cx
mov word [esp + 0x9a], cx
mov word [esp + 0xa0], cx
mov edx, 1
lea ecx, [esp + 0x78]
push ecx
mov word [esp + 0xa6], dx
mov edx, dword [ebp + 0x60]
push edx
and edi, 0xffff
push edi
push ebx
call dword [0x48b04c]
mov esi, eax
push esi
push 0x40
call dword [0x48b188]
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x43f120
mov eax, dword [0x4c086c]
push ebx
push eax
call dword [0x48b2ac]
mov ecx, dword [0x4c086c]
push ecx
call dword [0x48b2b8]
mov edx, dword [ebp + 4]
mov ebx, eax
push edx
push ebx
mov dword [esp + 0x3c], ebx
call dword [0x48b040]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x5c]
push ecx
push ebx
mov dword [esp + 0x24], eax
call dword [0x48b03c]
mov ecx, dword [ebp + 0x60]
lea edx, [esp + 0x88]
push edx
push 0
push 0
lea eax, [esp + 0x78]
push eax
push ecx
push edi
push ebx
call dword [0x48b04c]
mov esi, eax
push esi
push 0x40
call dword [0x48b188]
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x43f120
mov edx, dword [esp + 0x40]
add dword [esp + 0x24], edx
jmp 0x43f4f9
lea ecx, [esp + 0x88]
push ecx
push eax
mov eax, dword [ebp + 0x60]
push esi
lea edx, [esp + 0x78]
push edx
push eax
push edi
push ebx
call dword [0x48b04c]
mov eax, dword [esp + 0x6c]
add eax, 3
and eax, 0xfffc
cmp dword [esp + 0x70], 0
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], 0
jbe 0x43f4e2
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x2c], ecx
jmp 0x43f170
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x48], 0
jbe 0x43f4c7
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
movzx eax, byte [ecx + edx]
imul eax, eax, 0xff
cdq
idiv dword [ebp + 0x64]
mov edx, dword [ebp + 0x58]
mov ebx, dword [ebp + 0x48]
mov byte [esp + 0x12], al
mov eax, dword [esp + 0xa4]
sub eax, dword [esp + 0x78]
sub eax, dword [esp + 0x60]
add eax, dword [esp + 0x44]
lea esi, [eax + edx + 0xa]
mov eax, dword [esp + 0x58]
cdq
and edx, 3
add eax, edx
movsx edx, word [esp + 0x7c]
sar eax, 2
imul esi, eax
mov eax, dword [esp + 0x40]
add esi, dword [esp + 0x74]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
add eax, esi
mov esi, dword [ebp + 0x4c]
add eax, ecx
add eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x5c]
lea edi, [ecx + eax*4]
mov eax, dword [edi]
mov ecx, eax
shr ecx, 0x18
mov byte [esp + 0x1b], cl
mov ecx, eax
shr ecx, 0x10
shr eax, 8
mov edx, esi
sar edx, 8
mov byte [esp + 0x13], cl
mov byte [esp + 0x3b], al
mov ecx, ebx
mov eax, esi
mov byte [esp + 0x23], dl
mov dl, byte [esp + 0x12]
sar ecx, 0x10
sar ebx, 8
sar eax, 0x10
mov dword [esp + 0x9c], edi
mov byte [esp + 0x22], dl
test dl, dl
jbe 0x43f552
movzx eax, al
mov dword [esp + 0x84], eax
movzx edi, dl
movzx ecx, cl
imul ecx, edi
mov esi, 0xff
sub esi, edi
imul eax, esi
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x1b], al
movzx eax, byte [esp + 0x23]
imul eax, esi
movzx ecx, bl
imul ecx, edi
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
movzx ecx, byte [ebp + 0x48]
sar edx, 7
imul ecx, edi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x13], al
movzx eax, byte [ebp + 0x4c]
mov dword [esp + 0x80], eax
imul eax, esi
add ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp + 0xa4], 0
mov byte [esp + 0x12], al
je 0x43f486
mov byte [esp + 0x22], 0xff
mov dword [esp + 0x50], 0
lea ecx, [ecx]
cmp dword [esp + 0x50], 8
ja case.default.0x43f2ef
mov edx, dword [esp + 0x50]
jmp dword [edx*4 + 0x43f5f4]
or ebx, 0xffffffff
or ecx, ebx
jmp 0x43f33a
xor ebx, ebx
or ecx, 0xffffffff
jmp 0x43f33a
mov ebx, 1
or ecx, 0xffffffff
jmp 0x43f33a
or ebx, 0xffffffff
xor ecx, ecx
jmp 0x43f33a
xor ebx, ebx
xor ecx, ecx
jmp 0x43f33a
mov ebx, 1
xor ecx, ecx
jmp 0x43f33a
or ebx, 0xffffffff
lea ecx, [ebx + 2]
jmp 0x43f33a
xor ebx, ebx
lea ecx, [ebx + 1]
jmp 0x43f33a
mov ebx, 1
mov ecx, ebx
mov edx, dword [esp + 0x48]
test edx, edx
ja 0x43f347
cmp ebx, 0xffffffff
je 0x43f354
mov eax, dword [esp + 0x44]
test eax, eax
ja 0x43f35e
cmp ecx, 0xffffffff
jne 0x43f35e
mov dword [esp + 0x68], 0
jmp 0x43f3a5
mov esi, dword [esp + 0x6c]
dec esi
cmp edx, esi
jb 0x43f36c
cmp ebx, 1
je 0x43f37a
mov esi, dword [esp + 0x70]
dec esi
cmp eax, esi
jb 0x43f384
cmp ecx, 1
jne 0x43f384
mov dword [esp + 0x68], 0
jmp 0x43f3a5
add eax, ecx
imul eax, dword [esp + 0x54]
add eax, ebx
add eax, edx
mov edx, dword [esp + 0x4c]
movzx eax, byte [eax + edx]
imul eax, eax, 0xff
cdq
idiv dword [ebp + 0x64]
mov dword [esp + 0x68], eax
movsx edx, word [esp + 0x7c]
mov eax, dword [esp + 0x40]
sub ecx, dword [esp + 0x78]
sub eax, edx
sub ecx, dword [esp + 0x60]
cdq
add ecx, dword [esp + 0xa4]
sub eax, edx
add ecx, dword [esp + 0x44]
mov edx, dword [ebp + 0x58]
mov esi, eax
mov eax, dword [esp + 0x48]
sar esi, 1
add esi, ebx
add esi, dword [esp + 0x74]
lea ecx, [ecx + edx + 0xa]
add esi, eax
add esi, dword [esp + 0x24]
test eax, eax
ja 0x43f3f5
cmp ebx, 0xffffffff
jne 0x43f3f5
cmp dword [esp + 0x24], 0
je case.default.0x43f2ef
test esi, esi
jge 0x43f3fd
test ecx, ecx
je case.default.0x43f2ef
test ecx, ecx
jl case.default.0x43f2ef
mov eax, dword [esp + 0x58]
cdq
and edx, 3
add eax, edx
sar eax, 2
imul eax, ecx
mov ecx, dword [esp + 0x5c]
add eax, esi
cmp dword [esp + 0x68], 0
lea ecx, [ecx + eax*4]
jne case.default.0x43f2ef
mov eax, dword [ecx]
mov edx, eax
shr edx, 0x18
cmp edx, edi
jbe 0x43f452
mov esi, dword [esp + 0x84]
movzx edx, byte [esp + 0x23]
shl esi, 8
or esi, edx
shl esi, 8
and eax, 0xff000000
or esi, eax
or esi, dword [esp + 0x80]
mov dword [ecx], esi
jmp case.default.0x43f2ef
movzx eax, byte [esp + 0x23]
mov edx, edi
shl edx, 8
or edx, dword [esp + 0x84]
shl edx, 8
or edx, eax
shl edx, 8
or edx, dword [esp + 0x80]
mov dword [ecx], edx
mov eax, dword [esp + 0x50]
inc eax
cmp eax, 9
mov dword [esp + 0x50], eax
jl 0x43f2e0
mov cl, byte [esp + 0x1b]
movzx edx, byte [esp + 0x22]
shl edx, 8
movzx eax, cl
movzx ecx, byte [esp + 0x13]
or edx, eax
movzx eax, byte [esp + 0x12]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x9c]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x48]
inc eax
mov dword [ecx], edx
mov dword [esp + 0x48], eax
cmp eax, dword [esp + 0x6c]
jb 0x43f183
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
add dword [esp + 0x2c], edx
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x70]
jb 0x43f170
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
add dword [esp + 0x24], eax
push ecx
call dword [0x48b18c]
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
cmp byte [edx], 0
jne 0x43ebb2
cmp dword [esp + 0x1c], 0x16
mov esi, dword [0x48b040]
je 0x43f585
mov eax, dword [esp + 0x14]
push eax
push ebx
call esi
mov ecx, dword [0x4c086c]
push ebx
push ecx
call dword [0x48b2ac]
mov edx, dword [0x4c086c]
push edx
call dword [0x48b2b8]
mov ebx, eax
mov eax, dword [ebp + 4]
push eax
push ebx
call esi
lea ecx, [esp + 0xa0]
push ecx
push ebx
mov edi, eax
call dword [0x48b03c]
jmp 0x43f589
mov al, byte [esp + 0x1b]
test al, al
je 0x43f575
mov dl, byte [edi]
mov cl, byte [esp + 0x13]
mov byte [esp + 0x22], al
mov al, byte [esp + 0x3b]
mov byte [esp + 0x13], al
mov byte [esp + 0x12], dl
jmp 0x43f48a
mov al, byte [ebp + 0x48]
mov byte [esp + 0x13], bl
mov byte [esp + 0x12], al
jmp 0x43f48a
mov edi, dword [esp + 0x14]
push edi
push ebx
call esi
mov edx, dword [0x4c086c]
push ebx
push edx
call dword [0x48b2ac]
mov eax, dword [esp + 0x98]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x50]
push 0
push eax
call edx
mov ebp, dword [ebp + 0xa8]
test ebp, ebp
jle 0x43f5d1
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
mov edx, dword [0x4c0874]
push 0
push ebp
push ecx
mov ecx, dword [edx + 0xfc]
call fcn.0044b460
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [esp + 0x4e8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0045ab2a
add esp, 0x4dc
ret 8