Function at 0x43d5c0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5fc
push edi
push esi
push ebx
mov dword [ebp - 0x584], 0
mov dword [ebp - 0x588], 0
mov dword [ebp - 0x58c], 0
mov dword [ebp - 0x590], 0
mov dword [ebp - 0x594], 0x10
mov dword [ebp - 0x598], 0x16
mov dword [ebp - 0x59c], 0
mov dword [ebp - 0x5a0], 0
mov dword [ebp - 0x5a4], 0
mov dword [ebp - 0x5a8], 0
mov dword [ebp - 0x5ac], 0x10
mov dword [ebp - 0x5b0], 0x16
mov dword [ebp - 0x5b4], 0xffffffff
mov dword [ebp - 0x5c0], 0
add esp, 0xfffffff4
mov eax, dword [ebp + 8]
push eax
call fcn.0040d3e0
mov dword [ebp - 0x5b8], eax
mov eax, dword [0x4c523c]
mov edx, dword [ebp - 0x5b8]
push edx
push 0x43cff8
push 4
push 0
mov eax, dword [eax + 0x28]
call eax
add esp, 0x20
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43d6a4
mov dword [eax + 0x24], 1
mov ebx, dword [ebp - 0x5b4]
jmp 0x43d6ce
cmp dword [eax + 0xc], 0
je 0x43d6c0
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43d6c9
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov ebx, eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43d6ec
mov dword [eax + 0x24], 1
or ebx, 0xffffff00
jmp 0x43d719
cmp dword [eax + 0xc], 0
je 0x43d708
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43d711
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
shl eax, 8
or ebx, eax
mov eax, dword [0x4c523c]
push ebx
push 0x43d006
push 3
push 0
mov eax, dword [eax + 0x28]
call eax
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040d3e0
lea eax, [eax + ebx - 2]
mov dword [ebp - 0x574], eax
add esp, 0x20
cmp dword [ebp + 0x10], 0
je 0x43d76c
add esp, 0xfffffff8
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.0040d2c4
mov dword [ebp - 0x578], 6
add esp, 0x10
jmp 0x43d776
mov dword [ebp - 0x578], 4
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43d794
mov dword [eax + 0x24], 1
mov edx, 0xffffffff
jmp 0x43d7be
cmp dword [eax + 0xc], 0
je 0x43d7b0
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43d7b9
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov edx, eax
mov eax, dword [0x4c523c]
push edx
push 0x43d014
push 3
push 0
mov eax, dword [eax + 0x28]
call eax
add esp, 0xfffffff8
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.0040d2c4
add esp, 0x20
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43d804
mov dword [eax + 0x24], 1
mov dword [ebp - 0x570], 0xffffffff
jmp 0x43d832
cmp dword [eax + 0xc], 0
je 0x43d820
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43d829
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x570], eax
cmp dword [ebp - 0x570], 0xff
je 0x43d9eb
mov eax, dword [0x4c523c]
mov ecx, dword [ebp - 0x570]
push ecx
push 0x43d024
push 3
push 0
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
cmp dword [ebp - 0x570], 0x1f
jle 0x43d885
mov eax, dword [0x4c523c]
mov edx, dword [ebp - 0x570]
push edx
push 0x43d035
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43d8a8
mov dword [eax + 0x24], 1
mov dword [ebp - 0x57c], 0xffffffff
jmp 0x43d8d6
cmp dword [eax + 0xc], 0
je 0x43d8c4
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43d8cd
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x57c], eax
mov eax, dword [0x4c523c]
mov ecx, dword [ebp - 0x57c]
push ecx
push 0x43d04e
push 3
push 0
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
cmp dword [ebp - 0x57c], 0x40
jle 0x43d903
add dword [ebp - 0x57c], 0xffffff80
mov eax, dword [0x550ef0]
add dword [ebp - 0x57c], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43d92c
mov dword [eax + 0x24], 1
mov edi, 0xffffffff
jmp 0x43d957
cmp dword [eax + 0xc], 0
je 0x43d948
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43d951
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
movsx edi, al
mov eax, dword [0x4c523c]
push edi
push 0x43d05c
push 3
push 0
mov eax, dword [eax + 0x28]
call eax
lea eax, [edi + 0x63]
add esp, 0x10
cmp eax, 0xc6
jbe 0x43d9a1
mov eax, dword [0x4c523c]
push edi
push 0x43d06b
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
cmp edi, 0xffffff9d
jge 0x43d99c
mov edi, 0xffffff9d
jmp 0x43d9a1
mov edi, 0x63
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43d9bc
mov dword [eax + 0x24], 1
mov edx, 0xffffffff
jmp 0x43d9e6
cmp dword [eax + 0xc], 0
je 0x43d9d8
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43d9e1
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov edx, eax
cmp edx, 1
jne 0x43da20
add esp, 0xfffffffc
push 0
mov eax, dword [ebp - 0x574]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.0040d358
xor eax, eax
jmp 0x43f5ea
mov ecx, dword [ebp - 0x5c8]
jmp 0x43f5a4
mov eax, dword [ebp - 0x5dc]
jmp 0x43f5a4
mov edx, dword [ebp + 8]
push edx
push 0x24
push 1
lea ebx, [ebp - 0x530]
push ebx
call fcn.0040d2f8
mov byte [ebp - 0x50c], 0
mov esi, 0x23
add esp, 0x10
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x5e4], ecx
jmp 0x43da51
dec esi
test esi, esi
jl 0x43da70
mov al, byte [esi + ebp - 0x530]
cmp al, 0x20
jne 0x43da6c
mov byte [esi + ebp - 0x530], 0
jmp 0x43da50
test al, al
je 0x43da50
lea eax, [esi + esi*2 + 3]
add eax, eax
lea esi, [eax + 1]
add esp, 0xfffffff8
push esi
push 0x5a4e40
call fcn.004ba378
mov ebx, eax
add esp, 0xfffffff4
push 0
push 0
push esi
push ebx
lea eax, [ebp - 0x530]
push eax
call fcn.0040de0c
add esp, 0x30
cmp byte [ebx], 0
je 0x43dabd
mov eax, dword [0x4c523c]
push ebx
push 0x43d088
push 1
push 0
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
add esp, 0xfffffff4
push 0x5a4e40
call fcn.004ba3fc
mov dword [ebp - 0x580], 0
mov eax, 0x3938700
cdq
idiv dword [0x550ed0]
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x28], eax
add esp, 0xfffffffc
add esp, 0xfffffff8
push 1
mov edx, dword [ebp + 0xc]
push edx
call fcn.0043fae8
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp - 0x5e4]
push eax
call fcn.0043f5f8
add esp, 0x30
cmp dword [ebp + 0xc], 0
jne 0x43db5b
cmp dword [0x550ed0], 0x78
je 0x43db3c
add esp, 0xfffffffc
push 0
push 0x40
mov edx, dword [ebp - 0x5e4]
push edx
call fcn.0043c7b4
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x28], eax
add esp, 0x10
add esp, 0xfffffff4
push dword [ebp - 0x2c]
call fcn.0043c818
add esp, 0xfffffff8
push dword [0x550ee0]
push dword [ebp - 0x2c]
call fcn.0043c85c
add esp, 0x20
add esp, 0xfffffff8
push edi
mov ecx, dword [ebp - 0x5e4]
push ecx
call fcn.0043f800
add esp, 0xfffffff4
mov eax, dword [ebp + 8]
push eax
call fcn.0040d3e0
mov dword [ebp - 0x5bc], eax
add esp, 0x20
jmp 0x43f57a
cmp dword [ebp + 0x10], 0
jne 0x43dd70
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43dbb0
mov dword [eax + 0x24], 1
mov edi, 0xffffffff
jmp 0x43dbda
cmp dword [eax + 0xc], 0
je 0x43dbcc
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43dbd5
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov edi, eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43dbfc
mov dword [eax + 0x24], 1
mov dword [ebp - 0x5cc], 0xffffffff
jmp 0x43dc2a
cmp dword [eax + 0xc], 0
je 0x43dc18
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43dc21
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x5cc], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43dc4c
mov dword [eax + 0x24], 1
mov dword [ebp - 0x5c4], 0xffffffff
jmp 0x43dc7a
cmp dword [eax + 0xc], 0
je 0x43dc68
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43dc71
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x5c4], eax
mov eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x5d0], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43dca8
mov dword [eax + 0x24], 1
mov dword [ebp - 0x5c8], 0xffffffff
jmp 0x43dcd6
cmp dword [eax + 0xc], 0
je 0x43dcc4
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43dccd
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x5c8], eax
cmp dword [ebp - 0x5c8], 0xffffffff
je 0x43da08
mov dword [ebp - 0x5dc], 0
mov dword [ebp - 0x5d8], 0
xor esi, esi
mov dword [ebp - 0x5d4], 0
mov ebx, dword [0x4c523c]
cmp dword [ebx + 8], 3
jle 0x43dfe3
add esp, 0xfffffffc
mov eax, dword [ebp - 0x580]
push eax
mov edx, dword [ebp - 0x5c8]
push edx
mov ecx, dword [ebp - 0x5c4]
push ecx
mov eax, dword [ebp - 0x5cc]
push eax
mov edx, dword [ebp - 0x570]
push edx
add esp, 0xfffffff4
push edi
call fcn.0043cb48
add esp, 0x10
push eax
push dword [ebp - 0x2c]
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040d3e0
add esp, 0x10
mov edx, eax
mov eax, dword [ebp - 0x5b8]
add eax, 4
sub edx, eax
push edx
push 0x43d0a8
jmp 0x43dfd7
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43dd8c
mov dword [eax + 0x24], 1
mov edi, 0xffffffff
jmp 0x43ddb6
cmp dword [eax + 0xc], 0
je 0x43dda8
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43ddb1
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov edi, eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43ddd8
mov dword [eax + 0x24], 1
mov dword [ebp - 0x5c8], 0xffffffff
jmp 0x43de06
cmp dword [eax + 0xc], 0
je 0x43ddf4
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43ddfd
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x5c8], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43de28
mov dword [eax + 0x24], 1
mov dword [ebp - 0x5d4], 0xffffffff
jmp 0x43de56
cmp dword [eax + 0xc], 0
je 0x43de44
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43de4d
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x5d4], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43de78
mov dword [eax + 0x24], 1
mov dword [ebp - 0x5d8], 0xffffffff
jmp 0x43dea6
cmp dword [eax + 0xc], 0
je 0x43de94
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43de9d
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x5d8], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43dec4
mov dword [eax + 0x24], 1
mov esi, 0xffffffff
jmp 0x43deee
cmp dword [eax + 0xc], 0
je 0x43dee0
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43dee9
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x5c4], esi
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43df14
mov dword [eax + 0x24], 1
mov dword [ebp - 0x5dc], 0xffffffff
jmp 0x43df42
cmp dword [eax + 0xc], 0
je 0x43df30
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43df39
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x5dc], eax
cmp dword [ebp - 0x5dc], 0xffffffff
je 0x43da14
mov eax, dword [ebp - 0x5d8]
shl eax, 8
add eax, dword [ebp - 0x5d4]
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5dc]
shl eax, 8
add eax, esi
mov dword [ebp - 0x5d0], eax
mov ebx, dword [0x4c523c]
cmp dword [ebx + 8], 3
jle 0x43dfe3
mov eax, dword [ebp - 0x580]
push eax
mov edx, dword [ebp - 0x5c8]
push edx
push esi
mov ecx, dword [ebp - 0x5d0]
push ecx
mov eax, dword [ebp - 0x5cc]
push eax
mov edx, dword [ebp - 0x570]
push edx
add esp, 0xfffffff4
push edi
call fcn.0043cb48
add esp, 0x10
push eax
push dword [ebp - 0x2c]
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040d3e0
add esp, 0x10
mov edx, eax
mov eax, dword [ebp - 0x5b8]
add eax, 6
sub edx, eax
push edx
push 0x43d0e8
push 4
push 0
mov eax, dword [ebx + 0x28]
call eax
add esp, 0x30
cmp edi, 0x7f
jg 0x43e030
cmp dword [ebp - 0x5d0], 0
jle 0x43f49c
mov edx, dword [ebp - 0x57c]
lea eax, [edx + edi]
add esp, 0xfffffff4
mov ecx, dword [ebp - 0x5d0]
push ecx
mov edx, dword [ebp - 0x5c8]
push edx
and eax, 0x7f
push eax
mov ecx, dword [ebp - 0x570]
push ecx
mov eax, dword [ebp - 0x5e4]
push eax
call fcn.0043f6a8
add esp, 0x20
jmp 0x43f49c
lea eax, [edi - 0x90]
cmp eax, 0x6e
ja case.0x43e03f.153
jmp dword [eax*4 + 0x43e048]
lea eax, [edi + edi*2]
lea edi, [ebp - 0x4f0]
lea esi, [eax*8 + 0x550090]
cld
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x4d8], 0xf7
mov eax, dword [ebp - 0x5c8]
push eax
mov edx, dword [ebp - 0x5c4]
push edx
mov ecx, dword [ebp - 0x570]
push ecx
lea ebx, [ebp - 0x4f0]
push ebx
call fcn.0043fa4c
mov esi, eax
add esp, 0xfffffffc
push esi
push ebx
push dword [ebp - 0x2c]
call fcn.0043cf68
jmp 0x43e7a0
mov dword [eax + 0x24], 1
jmp 0x43e357
xor esi, esi
lea ebx, [ebp - 0x4f0]
jmp 0x43e31c
add esp, 0xfffffff4
push eax
call fcn.0048c05c
jmp 0x43e349
lea eax, [esi + 6]
cmp eax, 0x3ff
ja 0x43e357
cmp dword [ebp + 0x10], 0
je 0x43e2bc
mov ecx, dword [ebp + 8]
push ecx
push 5
push 1
lea eax, [esi + ebx]
push eax
call fcn.0040d2f8
add esp, 0x10
cmp eax, 5
jne 0x43f5a4
add esi, 5
jmp 0x43e31c
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43e2d4
mov dword [eax + 0x24], 1
jmp 0x43e2fc
cmp dword [eax + 0xc], 0
je 0x43e2f0
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43e2f9
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
push 2
push 1
lea eax, [esi + ebx]
push eax
call fcn.0040d2f8
add esp, 0x10
cmp eax, 2
jne 0x43f5a4
add esi, 2
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jae 0x43e258
cmp dword [eax + 0xc], 0
je 0x43e274
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
add esp, 0x10
cmp eax, 0xf7
je 0x43e284
add esp, 0xfffffffc
push 1
push 0xffffffffffffffff
mov eax, dword [ebp + 8]
push eax
call fcn.0040d358
mov byte [esi + ebx], 0xf7
mov edx, dword [ebp - 0x5c8]
push edx
mov ecx, dword [ebp - 0x5c4]
push ecx
mov eax, dword [ebp - 0x570]
push eax
push ebx
call fcn.0043fa4c
mov esi, eax
add esp, 0x20
add esp, 0xfffffffc
push esi
push ebx
push dword [ebp - 0x2c]
call fcn.0043cf68
jmp 0x43e928
mov eax, dword [ebp - 0x5c4]
and eax, 0x7f
mov dword [ebp - 0x5a4], eax
mov edx, dword [ebp - 0x5c8]
and edx, 0x7f
mov dword [ebp - 0x5a8], edx
mov dword [ebp - 0x59c], 1
jmp 0x43e806
and dword [ebp - 0x5c4], 0x7f
and dword [ebp - 0x5c8], 0x7f
cmp dword [ebp - 0x59c], 0
jne 0x43e400
add esp, 0xfffffffc
mov eax, dword [0x4c523c]
push 0x43d128
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
cmp dword [ebp - 0x5a0], 0
jne 0x43e422
add esp, 0xfffffffc
mov eax, dword [0x4c523c]
push 0x43d168
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
mov dword [ebp - 0x5a0], 1
mov dword [ebp - 0x59c], 1
mov byte [ebp - 0x4f0], 0x43
mov dl, byte [ebp - 0x5ac]
mov byte [ebp - 0x4ef], dl
mov cl, byte [ebp - 0x5b0]
mov byte [ebp - 0x4ee], cl
mov byte [ebp - 0x4ed], 0x12
mov al, byte [ebp - 0x5a4]
mov byte [ebp - 0x4ec], al
mov dl, al
mov al, byte [ebp - 0x5a8]
mov cl, al
mov byte [ebp - 0x4eb], cl
add dl, al
mov al, byte [ebp - 0x5c4]
mov cl, al
mov byte [ebp - 0x4ea], cl
add dl, al
mov al, byte [ebp - 0x5c8]
mov cl, al
mov byte [ebp - 0x4e9], cl
add dl, al
and dl, 0x7f
mov al, pe_nt_image_headers32
sub al, dl
mov byte [ebp - 0x4e8], al
mov byte [ebp - 0x4e7], 0xf7
add esp, 0xfffffffc
push 0xa
lea eax, [ebp - 0x4f0]
push eax
push dword [ebp - 0x2c]
call fcn.0043cf68
jmp 0x43e9a0
mov ecx, dword [ebp - 0x5c4]
and ecx, 0x7f
mov dword [ebp - 0x5ac], ecx
mov eax, dword [ebp - 0x5c8]
and eax, 0x7f
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5a0], 1
jmp 0x43f49c
and dword [ebp - 0x5c4], 0x7f
and dword [ebp - 0x5c8], 0x7f
mov byte [ebp - 0x4f0], 0x43
mov al, byte [ebp - 0x5ac]
mov byte [ebp - 0x4ef], al
mov dl, byte [ebp - 0x5b0]
mov byte [ebp - 0x4ee], dl
mov byte [ebp - 0x4ed], 0x12
mov cl, byte [ebp - 0x5a4]
mov byte [ebp - 0x4ec], cl
mov dl, cl
mov al, byte [ebp - 0x5a8]
mov cl, al
mov byte [ebp - 0x4eb], cl
add dl, al
mov al, byte [ebp - 0x5c4]
mov cl, al
mov byte [ebp - 0x4ea], cl
add dl, al
mov al, byte [ebp - 0x5c8]
mov cl, al
mov byte [ebp - 0x4e9], cl
add dl, al
and dl, 0x7f
mov al, pe_nt_image_headers32
sub al, dl
mov byte [ebp - 0x4e8], al
mov byte [ebp - 0x4e7], 0xf7
add esp, 0xfffffffc
push 0xa
lea eax, [ebp - 0x4f0]
push eax
push dword [ebp - 0x2c]
call fcn.0043cf68
jmp 0x43e9a0
mov ecx, dword [ebp - 0x5c4]
and ecx, 0x7f
mov dword [ebp - 0x58c], ecx
mov eax, dword [ebp - 0x5c8]
and eax, 0x7f
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x584], 1
jmp 0x43f49c
and dword [ebp - 0x5c4], 0x7f
and dword [ebp - 0x5c8], 0x7f
cmp dword [ebp - 0x584], 0
jne 0x43e5f8
add esp, 0xfffffffc
mov eax, dword [0x4c523c]
push 0x43d1a8
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
cmp dword [ebp - 0x588], 0
jne 0x43e61a
add esp, 0xfffffffc
mov eax, dword [0x4c523c]
push 0x43d1e8
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
mov dword [ebp - 0x588], 1
mov dword [ebp - 0x584], 1
mov byte [ebp - 0x4f0], 0x41
mov al, byte [ebp - 0x594]
mov byte [ebp - 0x4ef], al
mov dl, byte [ebp - 0x598]
mov byte [ebp - 0x4ee], dl
mov byte [ebp - 0x4ed], 0x12
mov cl, byte [ebp - 0x58c]
mov byte [ebp - 0x4ec], cl
mov dl, cl
mov al, byte [ebp - 0x590]
mov cl, al
mov byte [ebp - 0x4eb], cl
add dl, al
mov al, byte [ebp - 0x5c4]
mov cl, al
mov byte [ebp - 0x4ea], cl
add dl, al
mov al, byte [ebp - 0x5c8]
mov cl, al
mov byte [ebp - 0x4e9], cl
add dl, al
and dl, 0x7f
mov al, pe_nt_image_headers32
sub al, dl
mov byte [ebp - 0x4e8], al
mov byte [ebp - 0x4e7], 0xf7
add esp, 0xfffffffc
push 0xa
lea eax, [ebp - 0x4f0]
push eax
push dword [ebp - 0x2c]
call fcn.0043cf68
jmp 0x43e9a0
mov ecx, dword [ebp - 0x5c4]
and ecx, 0x7f
mov dword [ebp - 0x594], ecx
mov eax, dword [ebp - 0x5c8]
and eax, 0x7f
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x588], 1
jmp 0x43f49c
add esp, 0xfffffff4
mov eax, dword [0x4c523c]
mov edx, dword [ebp - 0x5c8]
push edx
mov ecx, dword [ebp - 0x5c4]
push ecx
push 0x43d228
jmp 0x43e797
mov ecx, dword [ebp - 0x5c8]
push ecx
push 0
mov eax, dword [ebp - 0x570]
push eax
push dword [ebp - 0x2c]
call fcn.0043fcc0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x540], eax
lea ecx, [ebp - 0x540]
mov byte [ecx + 4], 4
movzx edx, byte [ebp - 0x570]
shl edx, 8
mov eax, dword [ecx + 4]
and eax, 0xff0000ff
and dword [ebp - 0x5c4], 0x7f
shl dword [ebp - 0x5c4], 0x10
or eax, edx
or eax, dword [ebp - 0x5c4]
and eax, 0xffffff
mov dword [ecx + 4], eax
add esp, 0xfffffff4
push ecx
call fcn.0043fbac
add esp, 0x20
jmp 0x43f49c
add esp, 0xfffffff4
mov eax, dword [0x4c523c]
mov edx, dword [ebp - 0x5c8]
push edx
mov ecx, dword [ebp - 0x5c4]
push ecx
push 0x43d268
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x20
add esp, 0xfffffff8
mov eax, dword [ebp - 0x5cc]
push eax
mov edx, dword [ebp - 0x5e4]
push edx
jmp 0x43f4ad
mov ecx, dword [ebp - 0x5c4]
dec ecx
mov dword [ebp - 0x570], ecx
jne 0x43e7e0
add esp, 0xfffffffc
mov eax, dword [0x4c523c]
push 0x43d290
push 1
push 0
jmp 0x43e7fe
cmp dword [ebp - 0x570], 0x1f
jle 0x43e806
mov eax, dword [0x4c523c]
mov edx, dword [ebp - 0x570]
push edx
push 0x43d035
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
add esp, 0xfffffff8
mov ecx, dword [ebp - 0x5cc]
push ecx
mov eax, dword [ebp - 0x5e4]
push eax
jmp 0x43f4ad
cmp dword [ebp - 0x5c4], 0
jne 0x43e848
add esp, 0xfffffffc
mov eax, dword [0x4c523c]
push 0x43d2a1
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
mov dword [ebp - 0x5c4], 0x40
add esp, 0x10
add esp, 0xfffffffc
mov edx, dword [ebp - 0x5c8]
push edx
mov ecx, dword [ebp - 0x5c4]
push ecx
mov eax, dword [ebp - 0x5e4]
push eax
call fcn.0043c7b4
mov dword [ebp - 0x56c], eax
jmp 0x43e928
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x548], eax
lea ecx, [ebp - 0x548]
mov byte [ecx + 4], 5
movzx edx, byte [ebp - 0x570]
shl edx, 8
mov eax, dword [ecx + 4]
and eax, 0xff0000ff
and dword [ebp - 0x5c4], 0x7f
shl dword [ebp - 0x5c4], 0x10
or eax, edx
or eax, dword [ebp - 0x5c4]
and eax, 0xffffff
jmp 0x43e994
mov ecx, dword [ebp - 0x5c8]
push ecx
mov eax, dword [ebp - 0x5c4]
push eax
mov edx, dword [ebp - 0x570]
push edx
push dword [ebp - 0x2c]
call fcn.0043fcc0
jmp 0x43ea14
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x550], eax
lea ecx, [ebp - 0x550]
mov byte [ecx + 4], 4
movzx edx, byte [ebp - 0x570]
shl edx, 8
mov eax, dword [ecx + 4]
and eax, 0xff0000ff
and dword [ebp - 0x5c4], 0x7f
shl dword [ebp - 0x5c4], 0x10
or eax, edx
or eax, dword [ebp - 0x5c4]
and eax, 0xffffff
mov dword [ecx + 4], eax
add esp, 0xfffffff4
push ecx
call fcn.0043fbac
add esp, 0xfffffff8
mov edx, dword [ebp - 0x5cc]
push edx
mov ecx, dword [ebp - 0x5e4]
push ecx
jmp 0x43ea25
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x558], eax
lea ecx, [ebp - 0x558]
mov byte [ecx + 4], 3
movzx edx, byte [ebp - 0x570]
shl edx, 8
mov eax, dword [ecx + 4]
and eax, 0xff0000ff
and dword [ebp - 0x5c4], 0x7f
shl dword [ebp - 0x5c4], 0x10
or eax, edx
or eax, dword [ebp - 0x5c4]
and dword [ebp - 0x5c8], 0x7f
shl dword [ebp - 0x5c8], 0x18
and eax, 0xffffff
or eax, dword [ebp - 0x5c8]
mov dword [ecx + 4], eax
add esp, 0xfffffff4
push ecx
call fcn.0043fbac
add esp, 0xfffffff8
mov eax, dword [ebp - 0x5cc]
push eax
mov edx, dword [ebp - 0x5e4]
push edx
jmp 0x43ea25
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x560], eax
lea ecx, [ebp - 0x560]
mov byte [ecx + 4], 6
movzx edx, byte [ebp - 0x570]
shl edx, 8
mov eax, dword [ecx + 4]
and eax, 0xff0000ff
and dword [ebp - 0x5c4], 0x7f
shl dword [ebp - 0x5c4], 0x10
or eax, edx
or eax, dword [ebp - 0x5c4]
and dword [ebp - 0x5c8], 0x7f
shl dword [ebp - 0x5c8], 0x18
and eax, 0xffffff
or eax, dword [ebp - 0x5c8]
mov dword [ecx + 4], eax
add esp, 0xfffffff4
push ecx
call fcn.0043fbac
add esp, 0xfffffff8
mov ecx, dword [ebp - 0x5cc]
push ecx
mov eax, dword [ebp - 0x5e4]
push eax
call fcn.0043f800
add esp, 0x20
jmp 0x43f57a
cmp dword [ebp - 0x5cc], 0x1f
jbe 0x43ea60
add esp, 0xfffffffc
mov eax, dword [0x4c523c]
push 0x43d2b7
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
mov dword [ebp - 0x5cc], 0
add esp, 0x10
add esp, 0xfffffff8
mov edx, dword [ebp - 0x5cc]
push edx
push dword [ebp - 0x2c]
call fcn.0043c85c
add esp, 0x10
jmp 0x43f57a
cmp dword [ebp + 0x10], 0
jne 0x43eab0
mov cl, byte [ebp - 0x5c4]
mov byte [ebp - 0x530], cl
mov al, byte [ebp - 0x5c8]
mov byte [ebp - 0x52f], al
mov esi, 2
jmp 0x43eba0
mov dword [eax + 0x24], 1
jmp 0x43ebdb
mov dl, byte [ebp - 0x5c8]
mov byte [ebp - 0x530], dl
mov cl, byte [ebp - 0x5d4]
mov byte [ebp - 0x52f], cl
mov al, byte [ebp - 0x5d8]
mov byte [ebp - 0x52e], al
mov edx, esi
mov byte [ebp - 0x52d], dl
mov cl, byte [ebp - 0x5dc]
mov byte [ebp - 0x52c], cl
mov esi, 5
jmp 0x43eba0
add esp, 0xfffffff4
push eax
call fcn.0048c05c
jmp 0x43ebcd
lea eax, [esi + 6]
cmp eax, 0x3f
ja 0x43ebdb
cmp dword [ebp + 0x10], 0
je 0x43eb3c
mov eax, dword [ebp + 8]
push eax
push 5
push 1
lea eax, [esi + ebp - 0x530]
push eax
call fcn.0040d2f8
add esp, 0x10
cmp eax, 5
jne 0x43f5a4
add esi, 5
jmp 0x43eba0
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43eb54
mov dword [eax + 0x24], 1
jmp 0x43eb7c
cmp dword [eax + 0xc], 0
je 0x43eb70
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43eb79
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
push 2
push 1
lea eax, [esi + ebp - 0x530]
push eax
call fcn.0040d2f8
add esp, 0x10
cmp eax, 2
jne 0x43f5a4
add esi, 2
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jae 0x43eaa4
cmp dword [eax + 0xc], 0
je 0x43eaf4
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
add esp, 0x10
cmp eax, 0xf7
je 0x43eb04
add esp, 0xfffffffc
push 1
push 0xffffffffffffffff
mov eax, dword [ebp + 8]
push eax
call fcn.0040d358
mov eax, dword [0x4c523c]
add esp, 0x10
cmp dword [eax + 8], 0
jg 0x43ec06
cmp dword [0x4c6ff0], 0
je 0x43f57a
mov byte [esi + ebp - 0x530], 0
dec esi
lea edx, [ebp - 0x530]
jmp 0x43ec19
dec esi
test esi, esi
jl 0x43ec34
mov al, byte [esi + edx]
cmp al, 0x20
jne 0x43ec30
mov byte [esi + ebp - 0x530], 0
jmp 0x43ec18
test al, al
je 0x43ec18
cmp dword [0x4c6ff0], 0
je 0x43ec7c
push 1
lea ebx, [ebp - 0x568]
push ebx
lea edx, [ebp - 0x530]
push edx
push 0x3d
call fcn.0043fd20
add esp, 0x10
test eax, eax
je 0x43f57a
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x568], eax
add esp, 0xfffffff4
push ebx
call fcn.0043fbac
add esp, 0x10
jmp 0x43f57a
mov eax, dword [0x4c523c]
cmp dword [eax + 8], 0
jle 0x43f57a
lea eax, [esi + esi*2 + 3]
add eax, eax
lea esi, [eax + 1]
add esp, 0xfffffff8
push esi
push 0x5a4e40
call fcn.004ba378
mov ebx, eax
add esp, 0xfffffff4
push 0
push 0
push esi
push ebx
lea ecx, [ebp - 0x530]
push ecx
call fcn.0040de0c
add esp, 0x30
mov eax, dword [0x4c523c]
push ebx
push 0x43d2cb
push 1
push 0
mov eax, dword [eax + 0x28]
call eax
add esp, 0xfffffff4
push 0x5a4e40
call fcn.004ba3fc
add esp, 0x20
jmp 0x43f57a
add esp, 0xfffffffc
mov eax, dword [0x4c523c]
push 0x43d2e8
jmp 0x43ed48
mov ebx, dword [0x4c523c]
cmp dword [ebx + 8], 3
jle 0x43ed2e
add esp, 0xfffffff4
mov eax, dword [ebp + 8]
push eax
call fcn.0040d3e0
sub eax, dword [ebp - 0x5b8]
sub eax, dword [ebp - 0x578]
push eax
push 0x43d311
push 4
push 0
mov eax, dword [ebx + 0x28]
call eax
add esp, 0x20
cmp dword [ebp - 0x580], 0
jne 0x43ed5c
mov eax, dword [0x4c523c]
mov edx, dword [ebp - 0x570]
push edx
push 0x43d320
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
jmp 0x43f57a
cmp dword [ebp - 0x580], 0x10
jle 0x43ed70
dec dword [ebp - 0x580]
jmp 0x43f57a
mov ebx, dword [ebp - 0x580]
dec ebx
cmp dword [ebp - 0x5b4], ebx
je 0x43efa9
cmp dword [ebp + 0x10], 0
jne 0x43ed98
cmp dword [ebp - 0x5cc], 0xff
je 0x43edbf
jmp 0x43eda4
cmp dword [ebp - 0x5cc], 0xffff
je 0x43edbf
lea eax, [ebx + ebx*2]
lea esi, [eax*4]
lea edx, [ebp - 0xe8]
mov ecx, dword [ebp - 0x5cc]
cmp dword [esi + edx], ecx
jl 0x43edcc
mov dword [ebp - 0x580], ebx
jmp 0x43f57a
fild dword [ebp - 0x56c]
fdiv qword [0x43d5b0]
mov eax, dword [esi + ebp - 0xf0]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x534], eax
fild dword [ebp - 0x534]
mov eax, dword [0x4c700c]
fmulp st(1)
fild dword [eax + 0x1c]
fdivp st(1)
fcomp qword [0x43d5b8]
fnstsw ax
and ah, 0x45
jne 0x43ee34
mov eax, dword [0x4c523c]
mov edx, dword [ebp - 0x570]
push edx
push 0x43d33b
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
mov dword [ebp - 0x580], ebx
add esp, 0x10
jmp 0x43f57a
mov eax, dword [esi + edx]
lea ecx, [eax + 1]
mov dword [esi + edx], ecx
add esp, 0xfffffff4
mov edx, dword [0x4c523c]
mov eax, ecx
push eax
lea ebx, [ebp - 0xec]
mov eax, dword [esi + ebx]
sub eax, dword [ebp - 0x5b8]
push eax
push 0x43d356
push 4
push 0
mov eax, dword [edx + 0x28]
call eax
add esp, 0x20
add esp, 0xfffffffc
push 0
push dword [esi + ebx]
jmp 0x43f3b7
cmp dword [ebp + 0x10], 0
jne 0x43ee8e
cmp dword [ebp - 0x5cc], 0xff
je 0x43f57a
mov ebx, dword [0x4c523c]
cmp dword [ebx + 8], 3
jle 0x43eec4
add esp, 0xfffffff4
mov edx, dword [ebp + 8]
push edx
call fcn.0040d3e0
sub eax, dword [ebp - 0x5b8]
sub eax, dword [ebp - 0x578]
push eax
push 0x43d36a
push 4
push 0
mov eax, dword [ebx + 0x28]
call eax
add esp, 0x20
cmp dword [ebp - 0x580], 0xf
jle 0x43eef8
add esp, 0xfffffff4
mov eax, dword [0x4c523c]
mov ecx, dword [ebp - 0x580]
push ecx
mov edx, dword [ebp - 0x570]
push edx
push 0x43d388
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x20
jmp 0x43ef2f
mov ecx, dword [ebp - 0x580]
lea ebx, [ecx + ecx*2]
shl ebx, 2
mov eax, dword [ebp - 0x2c]
mov dword [ebx + ebp - 0xf0], eax
add esp, 0xfffffff4
mov eax, dword [ebp + 8]
push eax
call fcn.0040d3e0
mov dword [ebx + ebp - 0xec], eax
mov dword [ebx + ebp - 0xe8], 1
add esp, 0x10
inc dword [ebp - 0x580]
jmp 0x43f57a
mov ebx, dword [0x4c523c]
cmp dword [ebx + 8], 3
jle 0x43ef72
add esp, 0xfffffff4
mov edx, dword [ebp + 8]
push edx
call fcn.0040d3e0
sub eax, dword [ebp - 0x5b8]
sub eax, dword [ebp - 0x578]
push eax
push 0x43d3b8
push 4
push 0
mov eax, dword [ebx + 0x28]
call eax
add esp, 0x20
cmp dword [ebp - 0x580], 0xf
jle 0x43efa0
add esp, 0xfffffff4
mov eax, dword [0x4c523c]
mov ecx, dword [ebp - 0x570]
push ecx
mov edx, dword [ebp - 0x580]
push edx
push 0x43d3cb
push 1
jmp 0x43f09f
cmp dword [ebp - 0x5b4], 0
jl 0x43efd4
mov ecx, dword [ebp - 0x5b4]
mov dword [ebp - 0x580], ecx
add esp, 0xfffffffc
push 0
mov eax, ecx
lea edx, [eax + eax*2]
lea eax, [ebp - 0xec]
push dword [eax + edx*4]
mov edx, dword [ebp + 8]
push edx
jmp 0x43f3f8
mov dword [ebp - 0x5e0], 0
mov edi, dword [ebp - 0x5bc]
sub edi, dword [ebp - 0x5b8]
cmp dword [ebp + 0x10], 0
jne 0x43f02c
mov esi, dword [ebp - 0x5c8]
shl esi, 8
or esi, dword [ebp - 0x5c4]
test esi, 3
je 0x43f074
add esp, 0xfffffff4
mov eax, dword [0x4c523c]
mov ebx, esi
and ebx, 0xfffffffc
push ebx
push esi
push 0x43d3e8
push 3
push 1
mov eax, dword [eax + 0x28]
call eax
mov esi, ebx
add esp, 0x20
jmp 0x43f074
mov eax, dword [0x4c700c]
cmp dword [eax + 0x54], 0xcd
jne 0x43f04c
mov ecx, dword [ebp - 0x5d0]
lea eax, [ecx + ecx*2]
lea esi, [eax*2 - 0xf2]
jmp 0x43f074
mov ecx, dword [ebp - 0x5d0]
add ecx, 2
mov edx, 0x2aaaaaab
mov eax, edx
imul ecx
mov eax, ecx
sar eax, 0x1f
sub edx, eax
lea eax, [edx + edx*2]
add eax, eax
sub ecx, eax
mov esi, dword [ebp - 0x5d0]
sub esi, ecx
cmp esi, edi
jl 0x43f088
mov eax, dword [ebp - 0x574]
sub eax, dword [ebp - 0x5b8]
cmp esi, eax
jl 0x43f0b0
add esp, 0xfffffff4
mov eax, dword [0x4c523c]
mov edx, dword [ebp - 0x570]
push edx
push esi
push 0x43d408
push 2
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x20
jmp 0x43f57a
cmp dword [ebp - 0x5e0], 0
jne 0x43f0fa
mov ecx, dword [ebp - 0x580]
lea ebx, [ecx + ecx*2]
shl ebx, 2
mov eax, dword [ebp - 0x2c]
mov dword [ebx + ebp - 0xf0], eax
add esp, 0xfffffff4
mov eax, dword [ebp + 8]
push eax
call fcn.0040d3e0
mov dword [ebx + ebp - 0xec], eax
mov edx, dword [ebp - 0x580]
mov dword [ebp - 0x5b4], edx
mov ecx, edx
inc ecx
mov dword [ebp - 0x580], ecx
add esp, 0x10
mov eax, dword [0x4c523c]
push esi
push 0x43d42d
push 4
push 0
mov eax, dword [eax + 0x28]
call eax
add esp, 0xfffffffc
push 0
mov eax, dword [ebp - 0x5b8]
add eax, esi
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040d358
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
add esp, 0x20
cmp edx, dword [eax + 0x20]
jb 0x43f144
mov dword [eax + 0x24], 1
jmp 0x43f3b0
cmp dword [eax + 0xc], 0
je 0x43f16c
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
add esp, 0x10
cmp eax, 0xfc
je 0x43f183
jmp 0x43f3b0
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
cmp eax, 0xfc
jne 0x43f3b0
mov dword [ebp - 0x5e0], 1
cmp dword [ebp + 0x10], 0
jne 0x43f280
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43f1b0
mov dword [eax + 0x24], 1
jmp 0x43f1d8
cmp dword [eax + 0xc], 0
je 0x43f1cc
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43f1d5
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43f1f8
mov dword [eax + 0x24], 1
mov dword [ebp - 0x5c4], 0xffffffff
jmp 0x43f226
cmp dword [eax + 0xc], 0
je 0x43f214
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43f21d
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x5c4], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43f24c
mov dword [eax + 0x24], 1
mov dword [ebp - 0x5c8], 0xffffffff
jmp 0x43efea
cmp dword [eax + 0xc], 0
je 0x43f268
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43f271
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x5c8], eax
jmp 0x43efea
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43f2a0
mov dword [eax + 0x24], 1
mov dword [ebp - 0x5c8], 0xffffffff
jmp 0x43f2ce
cmp dword [eax + 0xc], 0
je 0x43f2bc
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43f2c5
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov dword [ebp - 0x5c8], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43f2e4
mov dword [eax + 0x24], 1
jmp 0x43f30c
cmp dword [eax + 0xc], 0
je 0x43f300
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43f309
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43f324
mov dword [eax + 0x24], 1
jmp 0x43f34c
cmp dword [eax + 0xc], 0
je 0x43f340
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43f349
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov edx, dword [eax + 0x1c]
cmp edx, dword [eax + 0x20]
jb 0x43f368
mov dword [eax + 0x24], 1
mov esi, 0xffffffff
jmp 0x43f392
cmp dword [eax + 0xc], 0
je 0x43f384
inc edx
mov dword [eax + 0x1c], edx
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
mov eax, dword [eax + 0xc]
call eax
jmp 0x43f38d
add esp, 0xfffffff4
push eax
call fcn.0048c05c
add esp, 0x10
mov esi, eax
mov dword [ebp - 0x5c4], esi
mov eax, dword [ebp - 0x5dc]
shl eax, 8
add eax, esi
mov dword [ebp - 0x5d0], eax
jmp 0x43efea
add esp, 0xfffffffc
push 1
push 0xffffffffffffffff
mov eax, dword [ebp + 8]
push eax
call fcn.0040d358
add esp, 0x10
jmp 0x43f57a
cmp dword [ebp - 0x5b4], 0
jl 0x43f57a
mov edx, dword [ebp - 0x5b4]
mov dword [ebp - 0x580], edx
add esp, 0xfffffffc
push 0
mov ecx, edx
lea edx, [ecx + ecx*2]
lea eax, [ebp - 0xec]
push dword [eax + edx*4]
mov eax, dword [ebp + 8]
push eax
call fcn.0040d358
mov dword [ebp - 0x5b4], 0xffffffff
add esp, 0x10
jmp 0x43f57a
cmp dword [ebp + 0x10], 0
jne 0x43f450
add esp, 0xfffffff4
mov ebx, dword [0x4c523c]
mov edx, dword [ebp - 0x570]
push edx
mov ecx, dword [ebp - 0x5c8]
push ecx
mov eax, dword [ebp - 0x5c4]
push eax
mov edx, dword [ebp - 0x5cc]
push edx
push edi
add esp, 0xfffffff4
push edi
call fcn.0043cb48
add esp, 0x10
push eax
push 0x43d448
jmp 0x43f490
add esp, 0xfffffffc
mov ebx, dword [0x4c523c]
mov ecx, dword [ebp - 0x570]
push ecx
mov eax, dword [ebp - 0x5dc]
push eax
push esi
mov edx, dword [ebp - 0x5d8]
push edx
mov ecx, dword [ebp - 0x5d4]
push ecx
mov eax, dword [ebp - 0x5c8]
push eax
push edi
add esp, 0xfffffff4
push edi
call fcn.0043cb48
add esp, 0x10
push eax
push 0x43d488
push 1
push 1
mov eax, dword [ebx + 0x28]
call eax
add esp, 0x30
add esp, 0xfffffff8
mov edx, dword [ebp - 0x5cc]
push edx
mov ecx, dword [ebp - 0x5e4]
push ecx
call fcn.0043f800
add esp, 0x10
jmp 0x43f57a
cmp dword [ebp + 0x10], 0
jne 0x43f53c
mov eax, dword [0x4c523c]
mov edx, dword [ebp - 0x570]
push edx
mov ecx, dword [ebp - 0x5c8]
push ecx
mov edx, dword [ebp - 0x5c4]
push edx
mov ecx, dword [ebp - 0x5cc]
push ecx
push edi
push 0x43d4e8
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x20
cmp edi, 0xe9
jne 0x43f57a
cmp dword [ebp - 0x5cc], 0xf0
jne 0x43f57a
cmp dword [ebp - 0x5c4], 0xe0
jne 0x43f57a
cmp dword [ebp - 0x5c8], 0x80
jne 0x43f57a
add esp, 0xfffffffc
mov eax, dword [0x4c523c]
push 0x43d528
push 1
push 2
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
jmp case.0x43e03f.254
add esp, 0xfffffff8
mov eax, dword [0x4c523c]
mov edx, dword [ebp - 0x570]
push edx
mov ecx, dword [ebp - 0x5dc]
push ecx
push esi
mov edx, dword [ebp - 0x5d8]
push edx
mov ecx, dword [ebp - 0x5d4]
push ecx
mov edx, dword [ebp - 0x5c8]
push edx
push edi
push 0x43d568
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x30
add esp, 0xfffffff4
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040d3e0
add eax, dword [ebp - 0x578]
add esp, 0x10
cmp dword [ebp - 0x574], eax
jl case.0x43e03f.254
cmp dword [0x4c7010], 0
je 0x43db88
mov dword [ebp - 0x5c0], 0xffffffff
add esp, 0xfffffff4
mov eax, dword [ebp - 0x5e4]
push eax
call fcn.0043f94c
add esp, 0xfffffff4
mov edx, dword [ebp - 0x5e4]
push edx
call fcn.0043f644
add esp, 0x20
add esp, 0xfffffffc
push 0
mov ecx, dword [ebp - 0x574]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.0040d358
mov eax, dword [ebp - 0x5c0]
lea esp, [ebp - 0x608]
pop ebx
pop esi
pop edi
leave
ret