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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
mov ebx, dword [ebp + 8]
xor edx, edx
push esi
mov esi, dword [ebx + 8]
push edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x24], edx
cmp esi, edx
je 0x43cfc8
mov edi, dword [ebp + 0xc]
lea ecx, [edx + 0x65]
cmp edi, edx
je 0x43c49c
movzx ecx, byte [edi]
lea eax, [ecx - 0x13]
mov dword [esp + 0x18], ecx
cmp eax, 0x8e
ja case.0x43c4b5.21
movzx eax, byte [eax + 0x43d3fc]
jmp dword [eax*4 + 0x43d390]
movsx ecx, word [edi + 0x22]
mov eax, dword [edi + 0x28]
cmp byte [eax], 0
mov edx, dword [eax + 0x1c]
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
jne 0x43c4db
mov eax, dword [ecx + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 1], 0
je 0x43c501
mov edi, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 8]
push edi
push ecx
push edx
push 0x60
push esi
call fcn.00423d20
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
mov eax, dword [edi + 0x1c]
cmp eax, edx
jge 0x43c521
mov ecx, dword [ebx + 0x38]
cmp ecx, edx
jle 0x43c51e
movsx eax, word [edi + 0x20]
add eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [edi + 0x26]
mov edx, dword [ebp + 0x10]
push ecx
mov ecx, dword [edi + 0x2c]
push edx
push eax
movsx eax, word [edi + 0x20]
push eax
push ecx
mov esi, ebx
call fcn.0043c1a0
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
push esi
push ebx
xor ecx, ecx
mov eax, edi
call fcn.0043bd40
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0x10]
mov ecx, dword [edi + 8]
push ebx
push 0
mov eax, esi
call fcn.0043bc20
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 8]
mov edi, dword [ebp + 0x10]
push edx
mov edx, edi
mov eax, esi
call fcn.00423f10
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
xor ebx, ebx
lea edx, [ebx + 0x4f]
mov eax, esi
call fcn.00423e50
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
mov edi, dword [eax + 8]
add edi, 2
mov eax, edi
call fcn.00406d50
lea ebx, [eax - 1]
mov eax, dword [esi]
push ebx
push eax
call fcn.00407e00
mov ecx, dword [esi + 0xc]
mov edi, eax
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [esi + 0x88]
add esp, 8
sar eax, 1
cmp dword [ecx + 0x30], edx
jg 0x43c5f7
mov ebx, dword [ebp + 0x10]
push 0
push ebx
push eax
push 0x51
call fcn.00423ce0
add esp, 0x10
jmp 0x43c625
mov ebx, dword [esi + 0x58]
lea ecx, [edx + 1]
mov dword [esi + 0x88], ecx
lea ecx, [edx + edx*4]
lea ecx, [ebx + ecx*4]
mov ebx, dword [ebp + 0x10]
mov dword [ecx + 4], eax
xor eax, eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov byte [ecx + 3], 0
mov dword [ecx + 8], ebx
mov word [ecx], 0x51
mov eax, edx
mov ecx, dword [esi]
cmp byte [ecx + 0x45], 0
je 0x43c640
mov eax, edi
or edx, 0xffffffff
call fcn.00424820
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jns 0x43c64b
mov eax, dword [esi + 0x88]
dec eax
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
cmp byte [eax + edx*4 + 1], 0
lea ecx, [eax + edx*4]
je 0x43c671
push edi
push esi
or eax, 0xffffffff
call fcn.004249b0
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x43c67c
mov dword [ecx + 0x10], edi
mov byte [ecx + 1], 0xff
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
movsx ebx, word [ecx + 0x20]
mov edi, dword [ebp + 0x10]
mov edx, 0x52
mov eax, esi
call fcn.00423e50
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
cmp byte [eax + 1], 0
je 0x43c6cc
mov ecx, dword [ebp + 8]
movsx esi, word [edx + 0x20]
mov ecx, dword [ecx + 0x1a8]
call fcn.00408320
mov dword [ecx], 0
mov ecx, dword [esp + 0x34]
mov edx, 0xfffffffe
call fcn.00424b20
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [edi + 0xc]
push eax
push ecx
push ebx
call fcn.0043c460
add esp, 0xc
mov dword [esp + 0x10], eax
cmp eax, dword [ebp + 0x10]
je 0x43c710
mov edi, dword [ebp + 0x10]
mov ebx, eax
mov edx, 0x55
mov eax, esi
call fcn.00423e50
mov edx, edi
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
xor edi, edi
call fcn.004445c0
mov ebx, dword [ebp + 0x10]
movsx edi, al
mov edx, 0x5d
mov eax, esi
call fcn.00423e50
mov edi, dword [esp + 0x10]
mov eax, dword [ebp + 8]
push 1
call fcn.0043bfb0
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
cmp ecx, 0x1d
sete dl
mov dword [esp + 0x24], 0x80
add edx, 0x24
mov dword [esp + 0x18], edx
mov esi, dword [edi + 0xc]
mov ecx, esi
call fcn.00437080
test eax, eax
je 0x43c790
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
mov eax, edi
call fcn.004372c0
mov eax, dword [ebp + 0x10]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x1c]
push eax
mov eax, esi
mov edi, ebx
call fcn.0043d4f0
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x14]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x10]
push ecx
call fcn.0043d4f0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
add esp, 4
or ecx, 0x20
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp + 0xc]
push eax
mov eax, dword [esp + 0x24]
push edx
push eax
mov eax, dword [ecx + 0x10]
push ebx
mov ecx, esi
call fcn.00436f50
add esp, 0x18
jmp 0x43c825
lea edx, [esp + 0x1c]
mov eax, edi
mov eax, dword [eax + 0xc]
push edx
mov edi, ebx
call fcn.0043d4f0
mov edx, dword [ebp + 0xc]
lea ecx, [esp + 0x14]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x10]
push ecx
call fcn.0043d4f0
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x24]
add esp, 4
push ecx
push edx
push eax
mov eax, dword [esp + 0x24]
push eax
push esi
call fcn.00423d20
add esp, 0x14
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x43c864
mov dl, byte [ebx + 0x13]
cmp dl, 8
jae 0x43c864
xor eax, eax
lea ecx, [ebx + 0x98]
cmp byte [ebx + 0x19], al
jbe 0x43c857
cmp dword [ecx + 0xc], esi
je 0x43d376
movzx edi, byte [ebx + 0x19]
inc eax
add ecx, 0x14
cmp eax, edi
jl 0x43c842
movzx edx, dl
mov dword [ebx + edx*4 + 0x160], esi
inc byte [ebx + 0x13]
mov esi, dword [esp + 0x10]
test esi, esi
je 0x43c8a3
mov dl, byte [ebx + 0x13]
cmp dl, 8
jae 0x43c8a3
xor eax, eax
lea ecx, [ebx + 0x98]
cmp byte [ebx + 0x19], al
jbe 0x43c896
cmp dword [ecx + 0xc], esi
je 0x43d37f
movzx edi, byte [ebx + 0x19]
inc eax
add ecx, 0x14
cmp eax, edi
jl 0x43c881
movzx eax, dl
mov dword [ebx + eax*4 + 0x160], esi
inc byte [ebx + 0x13]
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
mov cl, byte [eax]
cmp cl, 0x86
jne 0x43c8d2
mov esi, dword [ebp + 0x10]
push esi
push ebx
mov ecx, 1
call fcn.0043bd40
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp cl, 0x84
jne 0x43c8f3
mov edi, dword [ebp + 0x10]
mov ecx, dword [eax + 8]
push edi
push 1
mov eax, esi
call fcn.0043bc20
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x3c]
mov edi, ebx
mov byte [esp + 0x3c], 0x86
mov dword [esp + 0x40], 0x4400
mov dword [esp + 0x44], edx
call fcn.0043d4f0
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0x14]
add esp, 4
push edx
call fcn.0043d4f0
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x24]
add esp, 4
push ecx
push edx
push eax
push 0x30
jmp 0x43c81c
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
mov eax, dword [ecx + 0xc]
mov edi, ebx
call fcn.0043d4f0
mov edi, dword [ebp + 0x10]
mov edx, dword [esp + 0x1c]
mov ebx, eax
add esp, 4
mov eax, esi
call fcn.00423e50
mov ebx, dword [ebp + 8]
jmp 0x43c825
mov edi, dword [ebp + 0x10]
mov ebx, 1
lea edx, [ebx + 0x4b]
mov eax, esi
call fcn.00423e50
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [ebp + 8]
lea edx, [esp + 0x1c]
push edx
call fcn.0043d4f0
mov ebx, dword [esp + 0x1c]
mov edi, eax
add esp, 4
mov eax, esi
call fcn.00423df0
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov dword [esp + 0x14], eax
lea edx, [ebx + 0x4c]
mov eax, esi
call fcn.00423e50
mov eax, dword [esp + 0x14]
mov edx, esi
call fcn.00424660
mov ebx, dword [ebp + 8]
jmp 0x43c825
mov eax, dword [edi + 0x28]
cmp eax, edx
jne 0x43c9e9
mov ecx, dword [edi + 8]
push ecx
push 0x4b5e1c
push ebx
call fcn.00406ec0
mov eax, dword [ebp + 0x10]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx edx, word [edi + 0x22]
mov eax, dword [eax + 0x28]
add edx, edx
mov eax, dword [eax + edx*8 + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [edi + 4], 0x4000
mov eax, dword [ebx]
mov cl, byte [eax + 0x42]
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], eax
mov byte [esp + 0x14], cl
mov dword [esp + 0x1c], edx
je 0x43cb19
mov dword [esp + 0x2c], edx
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x18]
push 0
push ecx
push edx
push eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
push eax
call fcn.0044a580
add esp, 0x14
mov dword [esp + 0x30], eax
test eax, eax
je 0x43cdd5
cmp dword [eax + 0x10], 0
jne 0x43cdd5
movzx eax, word [eax + 2]
test eax, 0x200
je 0x43cb35
mov eax, esi
call fcn.00424320
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
push ecx
mov ecx, dword [eax]
push ecx
push ebx
call fcn.0043d640
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, 1
jle 0x43cb04
dec eax
mov dword [esp + 0x14], 0x18
mov dword [esp + 0x28], eax
jmp 0x43cab0
mov edi, dword [esp + 0x10]
mov ebx, dword [ebp + 0x10]
mov edx, 0x23
mov eax, esi
call fcn.00423e50
mov edi, ebx
mov ebx, dword [ebp + 8]
push 1
mov eax, ebx
call fcn.0043bfb0
inc dword [ebx + 0x40]
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 4]
add esp, 4
push edi
mov edi, dword [esp + 0x18]
mov ecx, dword [eax + edi]
push ecx
push ebx
call fcn.0043d640
add esp, 0xc
mov eax, ebx
call fcn.0043c040
add edi, 0x18
dec dword [esp + 0x28]
mov dword [esp + 0x14], edi
jne 0x43cab0
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.00424370
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x14]
mov dword [esp + 0x2c], eax
cmp eax, edx
je 0x43ca23
mov edx, eax
mov eax, dword [edx]
mov dword [esp + 0x18], eax
jmp 0x43ca27
test eax, 0x400
je 0x43cb5a
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push edx
mov edx, dword [ecx]
push edx
push ebx
call fcn.0043c460
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], 1
test ecx, ecx
jle 0x43cbf6
mov dword [esp + 0x20], 0
mov edi, edi
cmp dword [esp + 0x28], 0x20
jge 0x43cbaa
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx + edx]
call fcn.00439350
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x43cbaa
mov eax, dword [esp + 0x14]
or dword [esp + 0x24], eax
mov edx, dword [esp + 0x30]
test byte [edx + 2], 0x20
je 0x43cbda
cmp dword [esp + 0x1c], 0
jne 0x43cbda
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx + edx]
push ebx
call fcn.00436d50
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
add dword [esp + 0x20], 0x18
inc eax
rol edx, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
cmp eax, ecx
jl 0x43cb80
xor edx, edx
cmp dword [esp + 0x2c], edx
je 0x43cc72
cmp dword [esp + 0x24], edx
je 0x43cc11
mov edx, dword [ebx + 0x2c]
lea eax, [edx + 1]
add edx, ecx
mov dword [ebx + 0x2c], edx
jmp 0x43cc1e
mov esi, ecx
mov ecx, ebx
call fcn.0043ea30
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
test byte [ecx + 2], 0xc0
mov dword [esp + 0x20], eax
je 0x43cc4e
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 4]
mov ecx, dword [ecx]
mov dl, byte [ecx]
cmp dl, 0x98
je 0x43cc41
cmp dl, 0x9a
jne 0x43cc4e
mov edx, dword [esp + 0x30]
mov dl, byte [edx + 2]
and dl, 0xc0
mov byte [ecx + 0x26], dl
inc dword [ebx + 0x40]
push 3
push 0
push eax
mov eax, dword [esp + 0x38]
push ebx
call fcn.0043d800
add esp, 0x10
mov eax, ebx
call fcn.0043c040
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x43cc76
mov dword [esp + 0x20], edx
cmp ecx, 2
jl 0x43cc98
test byte [edi + 4], 0x80
je 0x43cc98
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [edx + 0x18]
push ecx
jmp 0x43ccb0
cmp ecx, edx
jle 0x43ccbe
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x10]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x34]
push ecx
push edx
call fcn.0046c410
add esp, 0xc
xor edx, edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
test byte [eax + 2], 0x20
je 0x43cd80
cmp dword [esp + 0x1c], edx
jne 0x43ccdd
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 0x88]
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x30], ecx
jg 0x43cd04
push 0
push 0
push 0
push 0x58
call fcn.00423ce0
mov esi, dword [esp + 0x44]
mov ebx, dword [ebp + 8]
add esp, 0x10
jmp 0x43cd2d
mov edi, dword [esi + 0x58]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*4]
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x58
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x45], 0
je 0x43cd45
mov eax, dword [esp + 0x1c]
mov edx, 0xfffffffd
call fcn.00424820
jmp 0x43cd80
test eax, eax
jns 0x43cd50
mov eax, dword [esi + 0x88]
dec eax
mov edx, dword [esi + 0x58]
lea ecx, [eax + eax*4]
cmp byte [edx + ecx*4 + 1], 0
mov eax, dword [esp + 0x1c]
lea ecx, [edx + ecx*4]
je 0x43cd75
push eax
push esi
mov eax, 0xfffffffd
call fcn.004249b0
add esp, 8
jmp 0x43cd80
test eax, eax
je 0x43cd80
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xfd
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x24]
push 0xfffffffffffffffc
push ecx
mov ecx, dword [esp + 0x28]
push 0x59
mov edi, esi
call fcn.004240f0
mov dl, byte [esp + 0x24]
add esp, 0xc
mov ecx, esi
call fcn.00424640
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x43c8a3
cmp dword [esp + 0x24], 0
jne 0x43c8a3
mov edx, dword [esp + 0x20]
mov eax, ebx
call fcn.0043ea80
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x28]
push edx
push 0x4b5e38
push ebx
call fcn.00406ec0
mov eax, dword [ebp + 0x10]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x77
jne 0x43ce1e
mov eax, dword [edi + 0x14]
mov ecx, dword [eax]
mov eax, dword [ecx]
cmp eax, 1
je 0x43ce1e
push 1
push eax
push 0x4b5d98
push ebx
call fcn.00406ec0
mov eax, dword [ebp + 0x10]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push edi
push ebx
call fcn.0043a250
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
cmp dword [eax + 0x1c], edx
jne 0x43ce51
push 0
push 0
push eax
push ebx
call fcn.0043a250
mov edx, dword [edi + 0xc]
add esp, 0x10
mov dword [edx + 0x1c], eax
xor edx, edx
mov esi, dword [edi + 0x1c]
cmp esi, edx
je 0x43ce74
mov ecx, dword [edi + 0xc]
call fcn.004370d0
cmp esi, eax
je 0x43ce74
push eax
push esi
push 0x4b5d2c
push ebx
call fcn.00406ec0
add esp, 0x10
movsx eax, word [edi + 0x20]
mov ecx, dword [edi + 0xc]
add eax, dword [ecx + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, esi
call fcn.00424320
mov dword [esp + 0x14], eax
mov eax, esi
call fcn.00424320
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov dword [esp + 0x28], eax
lea edx, [ebx + 0x4f]
mov eax, esi
call fcn.00423e50
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
push edx
mov edx, dword [ebp + 8]
push eax
push ecx
push edx
call fcn.0043aa50
mov ebx, 1
add esp, 0x10
lea edx, [ebx + 0x4b]
mov eax, esi
call fcn.00423e50
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.00424370
mov ebx, dword [ebp + 0x10]
xor edi, edi
lea edx, [edi + 0x5b]
mov eax, esi
call fcn.00423e50
mov edx, dword [esp + 0x28]
mov ecx, esi
call fcn.00424370
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
push 0
push 0
mov eax, edi
push esi
push eax
call fcn.0043da50
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
mov edx, dword [edi + 0xc]
push ecx
push edx
push ebx
call fcn.0043c460
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
mov ecx, dword [eax + 0x2c]
movsx edx, word [eax + 0x20]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x14], ecx
movsx ecx, word [ecx + 0x26]
inc ecx
imul ecx, dword [eax + 0x1c]
lea ebx, [ecx + edx + 1]
mov edx, 0x8e
mov eax, esi
call fcn.00423e50
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 0x20]
test ax, ax
js 0x43c8a3
mov edx, dword [esp + 0x14]
movsx ecx, ax
mov eax, dword [edx + 4]
add ecx, ecx
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x43c8a3
mov ebx, 0x5c
mov eax, esi
call fcn.00423df0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4b59ac
push ebx
call fcn.00406ec0
mov eax, dword [ebp + 0x10]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x80], edx
jne 0x43cfd1
push 0x4b5e50
push ebx
call fcn.00406ec0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi + 1], 2
jne 0x43cfe4
mov eax, dword [ebx + 0x7c]
cmp eax, edx
jne 0x43cfe0
mov eax, ebx
mov byte [eax + 0x15], 1
mov al, byte [edi + 1]
cmp al, 4
jne 0x43d083
mov ecx, dword [esi + 0x88]
mov eax, dword [esi + 0xc]
mov edi, dword [edi + 8]
cmp dword [eax + 0x30], ecx
jg 0x43d012
push 0
push 4
push 0
push 0x4b
call fcn.00423ce0
add esp, 0x10
jmp 0x43d03e
mov ebx, dword [esi + 0x58]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea eax, [ecx + ecx*4]
lea eax, [ebx + eax*4]
mov byte [eax + 3], dl
mov dword [eax + 4], edx
mov dword [eax + 8], 4
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x4b
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x45], 0
je 0x43d059
mov eax, edi
xor edx, edx
call fcn.00424820
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jns 0x43d064
mov eax, dword [esi + 0x88]
dec eax
mov edx, dword [esi + 0x58]
lea ecx, [eax + eax*4]
push edi
lea ecx, [edx + ecx*4]
push esi
xor eax, eax
call fcn.004249b0
mov eax, dword [ebp + 0x10]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 8]
push 0
push 0
movsx edx, al
push ecx
push edx
push 0x713
mov eax, ebx
call fcn.00449500
mov eax, dword [ebp + 0x10]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x14]
mov ecx, dword [eax + 4]
mov dword [esp + 0x28], edx
mov edx, dword [eax]
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x48]
mov dword [esp + 0x30], edx
lea edx, [eax + 1]
mov dword [ecx + 0x48], edx
lea edx, [eax - 1]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
test eax, edx
jne 0x43d106
lea ecx, [eax*8 + 4]
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x4c]
mov eax, dword [eax]
push 0
push ecx
call fcn.00404650
mov edx, dword [esp + 0x1c]
mov edi, dword [ebp + 0xc]
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, edx
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x43d114
mov dword [ecx + eax*4], 0xffffffff
mov edi, dword [edi + 0xc]
or ecx, 0xffffffff
sub ecx, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], edi
test edi, edi
je 0x43d189
mov esi, edi
mov ecx, 0xc
lea edi, [esp + 0x38]
lea eax, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, ebx
push ecx
lea eax, [esp + 0x24]
call fcn.0043c390
mov dl, byte [esp + 0x40]
and dword [esp + 0x44], 0xffffefff
push 0x30
mov dword [esp + 0x60], eax
lea eax, [esp + 0x74]
push 0
push eax
mov byte [esp + 0x72], dl
mov byte [esp + 0x4c], 0x9d
call fcn.004a6b70
mov esi, dword [esp + 0x48]
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x7c]
add esp, 0x14
mov byte [esp + 0x68], 0x25
mov dword [esp + 0x74], ecx
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x30]
dec eax
test eax, eax
jle 0x43d2c7
mov ecx, dword [esp + 0x24]
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
inc dword [ebx + 0x40]
cmp dword [esp + 0x20], 0
je 0x43d1bc
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
mov dword [esp + 0x78], eax
jmp 0x43d1c6
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov dword [esp + 0x28], edx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x48]
lea edx, [eax + 1]
mov dword [ecx + 0x48], edx
lea edx, [eax - 1]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
test eax, edx
jne 0x43d209
lea ecx, [eax*8 + 4]
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x4c]
mov eax, dword [eax]
push 0
push ecx
call fcn.00404650
mov edx, dword [esp + 0x1c]
mov dword [edx + 0x4c], eax
mov eax, dword [esp + 0x24]
add esp, 8
mov ecx, edx
mov ecx, dword [ecx + 0x4c]
test ecx, ecx
je 0x43d217
mov dword [ecx + eax*4], 0xffffffff
or edi, 0xffffffff
sub edi, eax
mov eax, dword [esp + 0x28]
push 0x10
push edi
push eax
push ebx
call fcn.0043de90
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x18]
push ecx
push eax
push ebx
call fcn.0043d640
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0xc]
add esp, 0x1c
cmp dword [ecx + 0x30], eax
jg 0x43d269
mov edx, dword [esp + 0x10]
push 0
push edx
push 0
push 0xd
call fcn.00423ce0
mov esi, dword [esp + 0x44]
mov ebx, dword [ebp + 8]
add esp, 0x10
jmp 0x43d296
lea ecx, [eax + 1]
mov dword [esi + 0x88], ecx
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0xd
mov eax, ebx
call fcn.0043c040
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x43d2b8
mov edx, dword [esi + 0x88]
lea ecx, [edi*4 + 4]
sub eax, ecx
mov dword [eax], edx
add dword [esp + 0x24], 0x30
dec dword [esp + 0x18]
jne 0x43d1a6
mov eax, dword [esp + 0x30]
test al, 1
je 0x43d2f7
mov ecx, dword [ebp + 0x10]
inc dword [ebx + 0x40]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*8 - 0x18]
push edx
push ebx
call fcn.0043d640
add esp, 0xc
mov eax, ebx
call fcn.0043c040
jmp 0x43d349
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0x30], eax
jg 0x43d31d
mov edx, dword [ebp + 0x10]
push 0
push edx
push 0
push 0x4f
call fcn.00423ce0
mov esi, dword [esp + 0x44]
add esp, 0x10
jmp 0x43d349
lea ecx, [eax + 1]
mov dword [esi + 0x88], ecx
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea eax, [eax + edx*4]
mov edx, dword [ebp + 0x10]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x4f
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x43c8a3
mov ecx, dword [esp + 0x10]
lea edx, [ecx*4 + 4]
mov ecx, dword [esi + 0x88]
sub eax, edx
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ecx + 6], 1
jmp 0x43c864
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov byte [ecx + 6], 1
pop ebx
mov esp, ebp
pop ebp
ret