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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x53bc79
mov eax, dword fs:[0]
push eax
sub esp, 0x868
mov eax, dword [0x59099c]
xor eax, esp
mov dword [esp + 0x830], eax
push ebx
push esi
push edi
mov eax, dword [0x59099c]
xor eax, esp
push eax
lea eax, [esp + 0x878]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov edi, ecx
mov ecx, ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x84], ebx
mov byte [edi + 8], 1
call fcn.00449360
movzx eax, al
cmp eax, 0x18
ja case.0x43588e.12
jmp dword [eax*4 + 0x43780c]
mov ebx, dword [esp + 0x3c]
mov esi, dword [edi + 4]
call fcn.0044b080
push edi
call fcn.00434ee0
xor esi, esi
mov ebx, vtable.LuaLib::Buffer.0
mov dword [esp + 0x4cc], ebx
mov dword [esp + 0x4d4], esi
mov dword [esp + 0x4d8], esi
mov dword [esp + 0x4dc], esi
mov dword [esp + 0x4e0], esi
mov dword [esp + 0x4e4], esi
mov dword [esp + 0x4e8], esi
mov dword [esp + 0x880], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea ecx, [esp + 0x4d0]
call fcn.004491a0
mov edx, dword [esp + 0x3c]
push 2
push esi
lea ecx, [esp + 0x4d4]
push ecx
mov ecx, dword [edi + 4]
push edx
call fcn.0044b160
cmp dword [edi + 0x80], esi
jle 0x43597b
mov dword [esp + 0x524], ebx
mov dword [esp + 0x52c], esi
mov dword [esp + 0x530], esi
mov dword [esp + 0x534], esi
mov dword [esp + 0x538], esi
mov dword [esp + 0x53c], esi
mov dword [esp + 0x540], esi
push 0xc
lea ecx, [esp + 0x528]
mov byte [esp + 0x884], 1
call fcn.004490e0
mov eax, dword [esp + 0x38]
push esi
mov esi, dword [eax + 4]
lea edi, [esp + 0x528]
call fcn.0044bad0
mov ecx, edi
call fcn.00449060
lea ecx, [esp + 0x4cc]
call fcn.00449060
jmp case.0x43588e.12
mov byte [edi + 9], 1
jmp case.0x43588e.12
push edi
call fcn.00434ee0
lea esi, [esp + 0x88]
call fcn.004155ba
mov esi, ebx
mov dword [esp + 0x880], 2
call fcn.00449450
movsx eax, ax
test eax, eax
jle 0x435dbd
lea ecx, [edi + 0x3c]
add edi, 0x4c
mov dword [esp + 0x70], 0
mov dword [esp + 0x64], vtable.LuaLib::Breakpoint.0
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], eax
jmp 0x4359f7
mov ebx, dword [esp + 0x84]
mov ecx, ebx
call fcn.00449480
lea esi, [esp + 0x4cc]
mov ecx, ebx
mov dword [esp + 0x34], eax
call fcn.004494c0
mov ecx, ebx
mov byte [esp + 0x880], 3
call fcn.00449480
mov ecx, ebx
mov dword [esp + 0xa4], eax
call fcn.00449360
movzx dx, al
mov ecx, ebx
movzx esi, dx
call fcn.00449360
xor ecx, ecx
mov ch, al
or ecx, esi
movzx edx, cx
mov ecx, ebx
mov dword [esp + 0xa0], edx
call fcn.00449360
movzx eax, al
mov ecx, ebx
mov dword [esp + 0xac], eax
call fcn.00449480
mov ecx, ebx
mov dword [esp + 0x98], eax
call fcn.00449360
movzx ecx, al
mov dword [esp + 0x58], ecx
lea esi, [esp + 0x254]
mov ecx, ebx
call fcn.004494c0
push eax
lea esi, [esp + 0x548]
mov byte [esp + 0x884], 4
call fcn.00454d80
add esp, 4
mov byte [esp + 0x880], 6
cmp dword [esp + 0x26c], 0x10
jb 0x435ac0
mov edx, dword [esp + 0x258]
push edx
call fcn.0050b609
add esp, 4
lea eax, [esp + 0x34]
push eax
lea edi, [esp + 0x38c]
lea ebx, [esp + 0x8c]
mov dword [esp + 0x270], 0xf
mov dword [esp + 0x26c], 0
mov byte [esp + 0x25c], 0
call fcn.00415612
lea ebx, [esp + 0x4cc]
call fcn.00424500
cmp dword [esp + 0x4e4], 0x10
mov esi, dword [esp + 0x4d0]
jae 0x435b1a
lea esi, [esp + 0x4d0]
mov ecx, dword [esp + 0x38]
push ecx
call fcn.004354c0
mov dword [esp + 0x40], eax
mov byte [esp + 0x880], 7
mov edi, dword [eax + 0x20]
mov edx, dword [edi + 4]
lea ebx, [eax + 0x1c]
push edx
push edi
lea esi, [esp + 0x6c]
call fcn.0043d210
mov ecx, ebx
mov esi, eax
call fcn.0043d270
mov dword [edi + 4], esi
mov eax, dword [esi + 4]
mov dword [eax], esi
mov byte [esp + 0x880], 6
mov eax, dword [ebx + 4]
mov esi, dword [eax + 4]
cmp esi, eax
jne 0x435b6c
call fcn.0050bbb1
cmp esi, dword [ebx + 4]
jne 0x435b76
call fcn.0050bbb1
mov eax, dword [esp + 0x34]
lea edi, [esi + 8]
mov esi, dword [esp + 0xa8]
mov dword [edi + 0x10], eax
mov ecx, dword [esi + 4]
test ecx, ecx
mov dword [esp + 0x94], edi
jne 0x435b99
xor eax, eax
jmp 0x435ba1
mov eax, dword [esi + 8]
sub eax, ecx
sar eax, 2
mov cx, word [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov dword [edi + 0x14], eax
mov word [edi + 0x18], cx
lea ebx, [esp + 0x94]
mov dword [edi + 0x1c], edx
call fcn.004386a0
mov esi, dword [esp + 0x3c]
lea ebx, [esp + 0x34]
lea eax, [esp + 0x4c]
call fcn.00438b40
mov eax, dword [esp + 0x4c]
test eax, eax
mov ebx, dword [esi + 4]
je 0x435be6
cmp eax, esi
je 0x435beb
call fcn.0050bbb1
cmp dword [esp + 0x50], ebx
jne 0x435cb9
xor eax, eax
mov ecx, 7
mov dword [esp + 0x3c0], ecx
mov dword [esp + 0x3bc], eax
mov word [esp + 0x3ac], ax
mov dword [esp + 0x3e4], ecx
mov dword [esp + 0x3e0], eax
mov word [esp + 0x3d0], ax
mov byte [esp + 0x880], 8
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x400]
push ecx
lea edi, [esp + 0x3a8]
mov dword [esp + 0x400], eax
call fcn.0043a480
mov ebx, dword [esp + 0x3c]
lea edx, [esp + 0x3fc]
push edx
lea eax, [esp + 0x3f4]
push eax
mov byte [esp + 0x888], 9
call fcn.00438700
mov ecx, dword [eax]
mov edx, dword [eax + 4]
lea esi, [esp + 0x3fc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
call fcn.004378c0
mov esi, edi
mov byte [esp + 0x880], 6
call fcn.00437870
lea esi, [esp + 0x4c]
call fcn.0043a270
mov edi, dword [esp + 0x94]
mov esi, eax
add esi, 4
mov dword [esi], 0
mov byte [esi + 0x24], 1
jmp 0x435cc7
lea esi, [esp + 0x4c]
call fcn.0043a270
mov esi, eax
add esi, 4
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
lea ebx, [esi + 4]
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ecx
mov dword [esi + 0x20], edx
cmp dword [ebx + 0x18], 8
mov eax, dword [ebx + 0x14]
jb 0x435cf3
mov ecx, dword [ebx + 4]
jmp 0x435cf6
lea ecx, [ebx + 4]
push eax
mov eax, dword [esp + 0x55c]
push ecx
push eax
push 0
lea ecx, [esp + 0x554]
call fcn.0040e696
test eax, eax
je 0x435d31
push 0x560568
mov byte [esi + 0x24], 1
call fcn.0050b74d
add esp, 4
push eax
push 0x560568
lea ecx, [esi + 0x28]
call fcn.0040adab
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x54c]
push ecx
mov ecx, ebx
call fcn.0040ad18
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
push edi
push edx
mov dword [edi + 4], esi
call fcn.00434f80
cmp dword [esp + 0x55c], 8
jb 0x435d70
mov eax, dword [esp + 0x548]
push eax
call fcn.0050b609
add esp, 4
xor eax, eax
mov byte [esp + 0x880], 2
cmp dword [esp + 0x4e4], 0x10
mov dword [esp + 0x55c], 7
mov dword [esp + 0x558], eax
mov word [esp + 0x548], ax
jb 0x435dae
mov ecx, dword [esp + 0x4d0]
push ecx
call fcn.0050b609
add esp, 4
sub dword [esp + 0x48], 1
jne 0x4359f0
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 0x50]
mov edx, dword [eax]
lea esi, [edi + 0x4c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edx
lea ecx, [ecx]
test esi, esi
mov ebx, dword [edi + 0x50]
lea eax, [edi + 0x4c]
je 0x435dde
cmp esi, eax
je 0x435de3
call fcn.0050bbb1
cmp dword [esp + 0x44], ebx
je 0x435e87
test esi, esi
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x50], eax
jne 0x435e01
call fcn.0050bbb1
mov ecx, dword [esp + 0x44]
cmp ecx, dword [esi + 4]
jne 0x435e0f
call fcn.0050bbb1
mov ebx, dword [esp + 0x44]
add ebx, 0xc
lea eax, [esp + 0x39c]
lea esi, [esp + 0x88]
call fcn.004156b6
mov esi, eax
mov eax, dword [esi]
test eax, eax
je 0x435e3c
lea edx, [esp + 0x88]
cmp eax, edx
je 0x435e41
call fcn.0050bbb1
mov eax, dword [esp + 0x50]
cmp dword [esi + 4], eax
jne 0x435e75
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
push ecx
push edx
lea eax, [esp + 0x39c]
push eax
lea eax, [edi + 0x4c]
push eax
call fcn.004387e0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x40], ecx
mov esi, ecx
jmp 0x435dc9
lea esi, [esp + 0x40]
call fcn.0043f2f0
mov esi, dword [esp + 0x40]
jmp 0x435dd0
mov dword [esp + 0x880], 0xffffffff
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0x88]
push eax
mov byte [edi + 0x34], 0
mov edx, dword [eax]
push ecx
mov esi, ecx
push edx
push esi
lea ebx, [esp + 0x5c]
mov edi, ecx
call fcn.004162b0
mov eax, dword [esp + 0x8c]
push eax
jmp 0x4377db
xor eax, eax
mov byte [edi + 0x85], al
mov byte [edi + 0x84], 1
mov dword [edi + 0x80], eax
jmp case.0x43588e.12
mov ecx, ebx
call fcn.00449480
lea esi, [esp + 0x2fc]
mov ecx, ebx
mov dword [esp + 0x40], eax
call fcn.004494c0
push eax
lea esi, [esp + 0x4d0]
mov dword [esp + 0x884], 0xa
call fcn.00454d80
add esp, 4
mov byte [esp + 0x880], 0xc
cmp dword [esp + 0x314], 0x10
jb 0x435f34
mov ecx, dword [esp + 0x300]
push ecx
call fcn.0050b609
add esp, 4
mov ecx, dword [esp + 0x3c]
xor eax, eax
lea edx, [esp + 0x4cc]
mov dword [esp + 0x310], eax
mov byte [esp + 0x300], al
mov eax, dword [esp + 0x40]
push edx
push eax
mov edx, edi
mov dword [esp + 0x31c], 0xf
call fcn.00434a20
cmp dword [esp + 0x4e4], 8
jb case.0x43588e.12
mov ecx, dword [esp + 0x4d0]
push ecx
jmp 0x4377db
mov ecx, ebx
call fcn.00449480
lea esi, [esp + 0x28c]
mov ecx, ebx
mov dword [esp + 0x40], eax
call fcn.004494c0
push eax
lea esi, [esp + 0x548]
mov dword [esp + 0x884], 0xd
call fcn.00454d80
add esp, 4
mov byte [esp + 0x880], 0xf
cmp dword [esp + 0x2a4], 0x10
jb 0x435fd8
mov edx, dword [esp + 0x290]
push edx
call fcn.0050b609
add esp, 4
lea eax, [esp + 0x4ec]
push eax
lea esi, [esp + 0x548]
mov dword [esp + 0x2a8], 0xf
mov dword [esp + 0x2a4], 0
mov byte [esp + 0x294], 0
call fcn.00424460
add esp, 4
lea ecx, [esp + 0x4ec]
push ecx
lea edx, [esp + 0x50c]
push 0x5635b8
push edx
mov byte [esp + 0x88c], 0x10
call fcn.0040dc38
add esp, 0xc
mov byte [esp + 0x880], 0x11
mov eax, dword [edi + 0x78]
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 0xc]
push 0
sar ecx, 4
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x44]
lea eax, [esp + 0x50c]
push eax
push ecx
mov ecx, edi
call fcn.00433bf0
test al, al
jne 0x43610a
mov edi, dword [edi + 0x78]
mov edx, dword [edi + 8]
sub edx, dword [edi + 0xc]
mov eax, dword [esp + 0x34]
sar edx, 4
sub eax, edx
sub eax, 1
push eax
push edi
call fcn.00443d70
add esp, 8
mov edi, 8
cmp dword [esp + 0x520], edi
jb 0x4360a5
mov eax, dword [esp + 0x50c]
push eax
call fcn.0050b609
add esp, 4
xor esi, esi
cmp dword [esp + 0x504], edi
mov ebx, 7
mov word [esp + 0x50c], si
mov dword [esp + 0x51c], esi
mov dword [esp + 0x520], ebx
jb 0x4360db
mov ecx, dword [esp + 0x4f0]
push ecx
call fcn.0050b609
add esp, 4
cmp dword [esp + 0x55c], edi
mov dword [esp + 0x504], ebx
mov dword [esp + 0x500], esi
mov word [esp + 0x4f0], si
jb case.0x43588e.12
mov edx, dword [esp + 0x548]
jmp 0x4377da
mov eax, dword [edi + 0x78]
mov edx, dword [eax + 8]
sub edx, dword [eax + 0xc]
mov ecx, dword [esp + 0x34]
sar edx, 4
cmp edx, ecx
je 0x436087
mov edx, dword [eax + 8]
sub edx, 0x10
cmp dword [edx], 6
je 0x436142
mov edx, dword [eax + 8]
sub edx, dword [eax + 0xc]
sar edx, 4
sub ecx, edx
sub ecx, 1
push ecx
push eax
jmp 0x43607f
xor esi, esi
mov dword [esp + 0x64], vtable.LuaLib::Buffer.0
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov byte [esp + 0x880], 0x12
call fcn.00441850
mov dword [esp + 0x5c], eax
mov byte [eax + 0x61], 1
mov eax, dword [esp + 0x5c]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [eax], eax
mov eax, dword [esp + 0x5c]
mov dword [eax + 8], eax
mov dword [esp + 0x60], esi
mov byte [esp + 0x880], 0x13
mov eax, dword [edi + 0x78]
mov ecx, dword [eax + 8]
mov dword [ecx], esi
add dword [eax + 8], 0x10
jmp 0x4361bb
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 0x78]
mov ecx, dword [eax + 8]
lea esi, [ecx - 0x10]
mov ecx, dword [ecx - 0x18]
mov dword [esp + 0x48], eax
call fcn.0046bc80
test eax, eax
mov eax, dword [esp + 0x48]
je 0x43645d
add dword [eax + 8], 0x10
lea ecx, [esp + 0x524]
call fcn.0040a28b
mov eax, dword [edi + 0x78]
mov ebx, dword [eax + 8]
lea ecx, [esp + 0x4cc]
sub ebx, 0x20
call fcn.0040a3cd
lea edx, [esp + 0x4cc]
mov byte [esp + 0x880], 0x15
mov ecx, dword [edi + 0x78]
push edx
mov edx, ebx
call fcn.00453520
lea eax, [esp + 0x4d0]
add esp, 4
push eax
lea esi, [esp + 0x1cc]
call fcn.00454f00
add esp, 4
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x530]
mov byte [esp + 0x88c], 0x16
call fcn.0040a999
cmp dword [esp + 0x1e0], 0x10
jb 0x436268
mov ecx, dword [esp + 0x1cc]
push ecx
call fcn.0050b609
add esp, 4
lea ecx, [esp + 0x560]
mov dword [esp + 0x1e0], 0xf
mov dword [esp + 0x1dc], 0
mov byte [esp + 0x1cc], 0
call fcn.0040a28b
mov byte [esp + 0x880], 0x17
mov eax, dword [ebx]
cmp eax, 4
jne 0x4362e1
mov edx, dword [ebx + 8]
push edx
lea eax, [esp + 0x620]
push str._.10d
push eax
call fcn.0050b433
lea ecx, [esp + 0x628]
add esp, 0xc
push ecx
call fcn.0050b770
add esp, 4
push eax
lea edx, [esp + 0x620]
push edx
lea ecx, [esp + 0x568]
call fcn.0040b689
jmp 0x43634c
cmp eax, 3
jne 0x436328
fld qword [ebx + 8]
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x624]
push str._021.010f
push eax
call fcn.0050b433
lea ecx, [esp + 0x62c]
push ecx
call fcn.0050b770
add esp, 0x14
push eax
lea edx, [esp + 0x620]
push edx
lea ecx, [esp + 0x568]
call fcn.0040b689
jmp 0x43634c
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x52c]
push eax
lea ecx, [esp + 0x56c]
call fcn.0040a999
lea ebx, [esp + 0x560]
call fcn.00424500
mov ecx, dword [edi + 0x78]
mov edi, dword [ecx + 8]
lea edx, [esp + 0x524]
sub edi, 0x10
push edx
lea esi, [esp + 0x450]
call fcn.0043a2b0
push eax
lea eax, [esp + 0x564]
push eax
lea ecx, [esp + 0x484]
push ecx
mov byte [esp + 0x88c], 0x18
call fcn.0043a2f0
lea edx, [esp + 0x388]
push edx
lea ecx, [esp + 0x5c]
push ecx
mov ebx, eax
mov byte [esp + 0x888], 0x19
call fcn.0043cac0
lea esi, [esp + 0x47c]
call fcn.00437980
lea esi, [esp + 0x44c]
call fcn.00437950
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x78]
add dword [eax + 8], 0xfffffff0
mov esi, 0x10
cmp dword [esp + 0x578], esi
jb 0x4363e4
mov eax, dword [esp + 0x564]
push eax
call fcn.0050b609
add esp, 4
xor ebx, ebx
cmp dword [esp + 0x4e4], 8
mov dword [esp + 0x578], 0xf
mov dword [esp + 0x574], ebx
mov byte [esp + 0x564], bl
jb 0x436419
mov ecx, dword [esp + 0x4d0]
push ecx
call fcn.0050b609
add esp, 4
mov byte [esp + 0x880], 0x13
cmp dword [esp + 0x53c], esi
mov dword [esp + 0x4e4], 7
mov dword [esp + 0x4e0], ebx
mov word [esp + 0x4d0], bx
jb 0x4361b0
mov edx, dword [esp + 0x528]
push edx
call fcn.0050b609
add esp, 4
jmp 0x4361b0
add dword [eax + 8], 0xfffffff0
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
lea edx, [esp + 0x58]
mov eax, edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x5c]
lea esi, [esp + 0x40]
lea edi, [esp + 0x4c]
mov dword [esp + 0x44], ecx
call fcn.0043a290
test al, al
je 0x436643
mov esi, edi
call fcn.0043a390
lea edx, [esp + 0x4ec]
mov edi, eax
push edx
lea esi, [esp + 0x23c]
add edi, 0x20
call fcn.00454f00
add esp, 4
push 0x565054
push eax
lea eax, [esp + 0x224]
push eax
mov byte [esp + 0x88c], 0x1a
call fcn.0040dd15
add esp, 0xc
push edi
push eax
lea ecx, [esp + 0x2cc]
push ecx
mov byte [esp + 0x88c], 0x1b
call fcn.0040ded0
add esp, 0xc
push 0x565050
push eax
lea edx, [esp + 0x52c]
push edx
mov byte [esp + 0x88c], 0x1c
call fcn.0040dd15
add esp, 0xc
cmp dword [esp + 0x2dc], 0x10
jb 0x436529
mov eax, dword [esp + 0x2c8]
push eax
call fcn.0050b609
add esp, 4
xor esi, esi
mov dword [esp + 0x2dc], 0xf
mov dword [esp + 0x2d8], esi
mov byte [esp + 0x2c8], 0
cmp dword [esp + 0x234], 0x10
jb 0x43655f
mov ecx, dword [esp + 0x220]
push ecx
call fcn.0050b609
add esp, 4
mov dword [esp + 0x234], 0xf
mov dword [esp + 0x230], esi
mov byte [esp + 0x220], 0
mov byte [esp + 0x880], 0x20
cmp dword [esp + 0x250], 0x10
jb 0x43659b
mov edx, dword [esp + 0x23c]
push edx
call fcn.0050b609
add esp, 4
lea esi, [esp + 0x4c]
mov dword [esp + 0x250], 0xf
mov dword [esp + 0x24c], 0
mov byte [esp + 0x23c], 0
call fcn.0043a390
mov edx, dword [eax + 0x40]
mov esi, dword [esp + 0x38]
mov ecx, dword [esi + 0x78]
mov ecx, dword [ecx + 8]
mov dword [ecx], edx
mov edx, dword [eax + 0x44]
add eax, 0x40
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x78]
add dword [eax + 8], 0x10
lea ecx, [esp + 0x524]
push ecx
push esi
lea edx, [esp + 0x6c]
mov ecx, edi
call fcn.00433fc0
mov edx, dword [esi + 0x78]
push 0xfffffffffffffffe
push edx
call fcn.00443d70
add esp, 8
lea esi, [esp + 0x4c]
call fcn.0043f640
mov byte [esp + 0x880], 0x13
cmp dword [esp + 0x53c], 0x10
jb 0x436479
mov eax, dword [esp + 0x528]
push eax
call fcn.0050b609
add esp, 4
jmp 0x436479
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
push 2
xor edi, edi
push edi
lea ecx, [esp + 0x6c]
push ecx
mov ecx, dword [esi + 4]
push edx
call fcn.0044b160
mov eax, dword [esi + 0x78]
mov edx, dword [eax + 8]
sub edx, dword [eax + 0xc]
mov ecx, dword [esp + 0x34]
sar edx, 4
sub ecx, edx
sub ecx, 1
push ecx
push eax
call fcn.00443d70
add esp, 8
lea eax, [esp + 0x58]
mov byte [esp + 0x880], 0x12
call fcn.00437910
lea ecx, [esp + 0x64]
call fcn.00449060
mov esi, 8
cmp dword [esp + 0x520], esi
jb 0x4366b5
mov eax, dword [esp + 0x50c]
push eax
call fcn.0050b609
add esp, 4
cmp dword [esp + 0x504], esi
mov dword [esp + 0x520], 7
mov dword [esp + 0x51c], edi
mov word [esp + 0x50c], di
jb 0x4366e8
mov ecx, dword [esp + 0x4f0]
push ecx
call fcn.0050b609
add esp, 4
mov dword [esp + 0x880], 0xffffffff
cmp dword [esp + 0x55c], esi
mov dword [esp + 0x504], 7
mov dword [esp + 0x500], edi
mov word [esp + 0x4f0], di
jb 0x436726
mov edx, dword [esp + 0x548]
push edx
call fcn.0050b609
add esp, 4
mov edi, dword [esp + 0x38]
mov ecx, ebx
call fcn.00449480
lea esi, [esp + 0x1e4]
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.004494c0
push eax
lea esi, [esp + 0x4d0]
mov dword [esp + 0x884], 0x21
call fcn.00454d80
add esp, 4
mov byte [esp + 0x880], 0x23
cmp dword [esp + 0x1fc], 0x10
jb 0x436780
mov eax, dword [esp + 0x1e8]
push eax
call fcn.0050b609
add esp, 4
lea esi, [esp + 0x200]
mov ecx, ebx
mov dword [esp + 0x1fc], 0xf
mov dword [esp + 0x1f8], 0
mov byte [esp + 0x1e8], 0
call fcn.004494c0
push eax
lea esi, [esp + 0x4f0]
mov byte [esp + 0x884], 0x24
call fcn.00454d80
add esp, 4
mov byte [esp + 0x880], 0x26
cmp dword [esp + 0x218], 0x10
jb 0x4367e6
mov ecx, dword [esp + 0x204]
push ecx
call fcn.0050b609
add esp, 4
lea edx, [esp + 0x4ec]
push edx
lea eax, [esp + 0x274]
xor ebx, ebx
push 0x565058
push eax
mov dword [esp + 0x224], 0xf
mov dword [esp + 0x220], ebx
mov byte [esp + 0x210], bl
call fcn.0040dc38
add esp, 0xc
push eax
lea ecx, [esp + 0x4d0]
mov byte [esp + 0x884], 0x27
call fcn.0040e1c3
push eax
lea ecx, [esp + 0x50c]
call fcn.0040a428
mov byte [esp + 0x880], 0x29
cmp dword [esp + 0x288], 8
jb 0x436862
mov ecx, dword [esp + 0x274]
push ecx
call fcn.0050b609
add esp, 4
mov eax, dword [edi + 0x78]
mov dword [esp + 0x288], 7
mov dword [esp + 0x284], ebx
mov word [esp + 0x274], bx
mov esi, dword [eax + 8]
sub esi, dword [eax + 0xc]
mov eax, dword [esp + 0x48]
push 1
lea edx, [esp + 0x50c]
push edx
push eax
mov ecx, edi
sar esi, 4
call fcn.00433bf0
test al, al
jne 0x436944
mov edi, dword [edi + 0x78]
mov ecx, dword [edi + 8]
sub ecx, dword [edi + 0xc]
sar ecx, 4
sub esi, ecx
sub esi, 1
push esi
push edi
call fcn.00443d70
add esp, 8
cmp dword [esp + 0x520], 8
jb 0x4368db
mov edx, dword [esp + 0x50c]
push edx
call fcn.0050b609
add esp, 4
mov edi, 8
cmp dword [esp + 0x504], edi
mov esi, 7
mov dword [esp + 0x520], esi
mov dword [esp + 0x51c], ebx
mov word [esp + 0x50c], bx
jb 0x436914
mov eax, dword [esp + 0x4f0]
push eax
call fcn.0050b609
add esp, 4
cmp dword [esp + 0x4e4], edi
mov dword [esp + 0x504], esi
mov dword [esp + 0x500], ebx
mov word [esp + 0x4f0], bx
jb case.0x43588e.12
mov ecx, dword [esp + 0x4d0]
push ecx
jmp 0x4377db
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x4cc]
push edx
push eax
mov edx, edi
call fcn.00434a20
mov edi, dword [edi + 0x78]
mov ecx, dword [edi + 8]
sub ecx, dword [edi + 0xc]
sar ecx, 4
sub esi, ecx
sub esi, 1
push esi
push edi
call fcn.00443d70
add esp, 8
cmp dword [esp + 0x520], 8
jb 0x436991
mov edx, dword [esp + 0x50c]
push edx
call fcn.0050b609
add esp, 4
mov esi, 8
cmp dword [esp + 0x504], esi
mov edi, 7
mov dword [esp + 0x520], edi
mov dword [esp + 0x51c], ebx
mov word [esp + 0x50c], bx
jb 0x4369ca
mov eax, dword [esp + 0x4f0]
push eax
call fcn.0050b609
add esp, 4
cmp dword [esp + 0x4e4], esi
mov dword [esp + 0x504], edi
mov dword [esp + 0x500], ebx
mov word [esp + 0x4f0], bx
jb case.0x43588e.12
mov ecx, dword [esp + 0x4d0]
push ecx
jmp 0x4377db
lea eax, [esp + 0x4cc]
call fcn.00448ff0
mov edx, dword [esp + 0x38]
mov dword [esp + 0x880], 0x2a
mov edx, dword [edx + 0x78]
xor ebx, ebx
lea edi, [esp + 0x57c]
xor ecx, ecx
mov dword [esp + 0x34], ebx
call fcn.00455140
test eax, eax
je 0x436ee0
mov ecx, dword [esp + 0x38]
mov ebx, dword [ecx + 0x78]
push 0x5635b0
lea eax, [esp + 0x580]
call fcn.004555d0
mov edx, dword [esp + 0x58c]
add esp, 4
cmp word [edx], 0x43
jne 0x436acf
push 0x562690
lea ecx, [esp + 0x15c]
call fcn.0040a2a0
lea eax, [esp + 0x158]
push eax
lea ecx, [esp + 0x4d0]
mov byte [esp + 0x884], 0x2c
call fcn.004491e0
mov edi, 0x10
mov byte [esp + 0x880], 0x2a
cmp dword [esp + 0x170], edi
jb 0x436aaf
mov ecx, dword [esp + 0x15c]
push ecx
call fcn.0050b609
add esp, 4
mov dword [esp + 0x170], 0xf
mov dword [esp + 0x16c], 0
mov byte [esp + 0x15c], 0
jmp 0x436b3c
push 0x565060
lea ecx, [esp + 0x124]
call fcn.0040a2a0
lea edx, [esp + 0x120]
push edx
lea ecx, [esp + 0x4d0]
mov byte [esp + 0x884], 0x2d
call fcn.004491e0
mov byte [esp + 0x880], 0x2a
cmp dword [esp + 0x138], 0x10
jb 0x436b1e
mov eax, dword [esp + 0x124]
push eax
call fcn.0050b609
add esp, 4
xor eax, eax
mov dword [esp + 0x138], 0xf
mov dword [esp + 0x134], eax
mov byte [esp + 0x124], al
lea edi, [eax + 0x10]
lea ecx, [esp + 0x59c]
push ecx
lea edx, [esp + 0x640]
push 0x565064
push edx
call fcn.004684a0
add esp, 0xc
lea eax, [esp + 0x63c]
push eax
lea ecx, [esp + 0x548]
call fcn.0040a406
mov bl, 0x2e
mov byte [esp + 0x880], bl
mov eax, dword [esp + 0x590]
test eax, eax
jle 0x436bbc
push eax
lea ecx, [esp + 0x640]
push 0x56506c
push ecx
call fcn.004684a0
lea edx, [esp + 0x648]
add esp, 0xc
push edx
call fcn.0050b74d
add esp, 4
push eax
lea eax, [esp + 0x640]
push eax
lea ecx, [esp + 0x54c]
call fcn.0040ee9a
mov ecx, dword [esp + 0x584]
movzx eax, word [ecx]
cmp ax, 0x67
je 0x436c71
cmp ax, 0x6c
je 0x436c71
cmp ax, 0x66
je 0x436c71
cmp ax, 0x6d
je 0x436c71
mov edx, dword [esp + 0x588]
movzx eax, word [edx]
cmp ax, 0x6d
jne 0x436c13
push str._main_chunk_
call fcn.0050b74d
add esp, 4
push eax
push str._main_chunk_
jmp 0x436c85
cmp ax, 0x43
je 0x436c5c
cmp ax, 0x74
je 0x436c5c
mov eax, dword [esp + 0x598]
push eax
lea ecx, [esp + 0x5a0]
push ecx
lea edx, [esp + 0x644]
push 0x565094
push edx
call fcn.004684a0
lea eax, [esp + 0x64c]
push eax
call fcn.0050b74d
add esp, 0x14
push eax
lea ecx, [esp + 0x640]
push ecx
jmp 0x436c85
push 0x565090
call fcn.0050b74d
add esp, 4
push eax
push 0x565090
jmp 0x436c85
mov eax, dword [esp + 0x580]
push eax
mov esi, eax
call fcn.0050b74d
add esp, 4
push eax
push esi
lea ecx, [esp + 0x54c]
call fcn.0040ee9a
lea edx, [esp + 0x544]
push edx
lea esi, [esp + 0x2ac]
call fcn.00454f00
add esp, 4
push eax
lea ecx, [esp + 0x4d0]
mov byte [esp + 0x884], 0x2f
call fcn.004491e0
mov byte [esp + 0x880], bl
cmp dword [esp + 0x2c0], edi
jb 0x436cdd
mov eax, dword [esp + 0x2ac]
push eax
call fcn.0050b609
add esp, 4
mov eax, dword [esp + 0x58c]
mov esi, 0xf
mov dword [esp + 0x2c0], esi
mov dword [esp + 0x2bc], 0
mov byte [esp + 0x2ac], 0
cmp word [eax], 0x40
jne 0x436d66
lea ecx, [eax + 2]
lea edi, [esp + 0x524]
call fcn.004246f0
mov ecx, edi
push ecx
lea ecx, [esp + 0x4d0]
mov byte [esp + 0x884], 0x30
call fcn.004491e0
mov edx, dword [esp + 0x590]
push edx
lea ecx, [esp + 0x4d0]
call fcn.004491a0
cmp dword [esp + 0x53c], 0x10
jb 0x436e98
mov eax, dword [esp + 0x528]
push eax
call fcn.0050b609
add esp, 4
jmp 0x436e98
cmp dword [esp + 0x34], 0
jne 0x436e23
cmp dword [0x5f0240], 0
je 0x436e23
xor ecx, ecx
cmp word [0x5f0260], cx
je 0x436db0
mov eax, 0x5f0260
mov edi, edi
cmp word [eax], 0x2f
jne 0x436d9b
mov word [eax], 0x5c
add ecx, 1
cmp word [ecx*2 + 0x5f0260], 0
lea eax, [ecx*2 + 0x5f0260]
jne 0x436d90
push 0x5f0260
lea ecx, [esp + 0x194]
call fcn.0040a406
lea ecx, [esp + 0x190]
push ecx
lea ebx, [esp + 0x4d0]
mov byte [esp + 0x884], 0x31
call fcn.00449240
mov byte [esp + 0x880], 0x2e
cmp dword [esp + 0x1a8], 8
jb 0x436dff
mov edx, dword [esp + 0x194]
push edx
call fcn.0050b609
add esp, 4
xor eax, eax
mov dword [esp + 0x1a4], eax
mov word [esp + 0x194], ax
mov eax, dword [0x5f0240]
mov dword [esp + 0x1a8], 7
push eax
jmp 0x436e8c
push 0x5604fd
lea ecx, [esp + 0xd0]
call fcn.0040a2a0
lea ecx, [esp + 0xcc]
push ecx
lea ecx, [esp + 0x4d0]
mov byte [esp + 0x884], 0x32
call fcn.004491e0
mov byte [esp + 0x880], bl
cmp dword [esp + 0xe4], edi
jb 0x436e70
mov edx, dword [esp + 0xd0]
push edx
call fcn.0050b609
add esp, 4
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe0], 0
mov byte [esp + 0xd0], 0
push 0xffffffffffffffff
lea ecx, [esp + 0x4d0]
call fcn.004491a0
add dword [esp + 0x34], 1
mov byte [esp + 0x880], 0x2a
cmp dword [esp + 0x55c], 8
jb 0x436ebf
mov eax, dword [esp + 0x548]
push eax
call fcn.0050b609
add esp, 4
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [edx + 0x78]
lea edi, [esp + 0x57c]
call fcn.00455140
test eax, eax
jne 0x436a34
xor ebx, ebx
push 0x5604fd
lea ecx, [esp + 0xb4]
call fcn.0040a2a0
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x4d0]
mov byte [esp + 0x884], 0x2b
call fcn.004491e0
mov byte [esp + 0x880], 0x2a
cmp dword [esp + 0xc8], 0x10
jb 0x436f2f
mov ecx, dword [esp + 0xb4]
push ecx
call fcn.0050b609
add esp, 4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 4]
push 2
push ebx
lea edx, [esp + 0x4d4]
push edx
push eax
mov dword [esp + 0xd8], 0xf
mov dword [esp + 0xd4], ebx
mov byte [esp + 0xc4], bl
call fcn.0044b160
lea ecx, [esp + 0x4cc]
call fcn.00449060
jmp case.0x43588e.12
mov ecx, ebx
call fcn.00449480
mov ebx, dword [edi + 0x78]
lea edi, [esp + 0x57c]
mov ecx, eax
mov edx, ebx
call fcn.00455140
test eax, eax
je case.0x43588e.12
push 0x5635b0
mov eax, edi
call fcn.004555d0
add esp, 4
lea eax, [esp + 0x64]
call fcn.00448ff0
mov ecx, edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x880], 0x33
mov esi, dword [edi + 0x78]
mov eax, 1
mov dword [esp + 0x34], eax
call fcn.00455240
mov esi, eax
test esi, esi
je 0x437160
jmp 0x436fe0
add dword [esp + 0x34], 1
push esi
lea ecx, [esp + 0x140]
call fcn.0040a406
push esi
lea ecx, [esp + 0x108]
mov byte [esp + 0x884], 0x34
call fcn.0040a406
lea edx, [esp + 0x13c]
push edx
lea esi, [esp + 0x31c]
mov byte [esp + 0x884], 0x35
call fcn.00454f00
add esp, 4
mov ebx, eax
lea eax, [esp + 0x104]
push eax
lea esi, [esp + 0x2e4]
mov byte [esp + 0x884], 0x36
call fcn.00454f00
add esp, 4
push eax
push edi
lea edx, [esp + 0x6c]
mov ecx, ebx
mov byte [esp + 0x888], 0x37
call fcn.00433fc0
mov esi, 0x10
cmp dword [esp + 0x2f8], esi
jb 0x43707a
mov ecx, dword [esp + 0x2e4]
push ecx
call fcn.0050b609
add esp, 4
xor ebx, ebx
cmp dword [esp + 0x330], esi
mov dword [esp + 0x2f8], 0xf
mov dword [esp + 0x2f4], ebx
mov byte [esp + 0x2e4], bl
jb 0x4370ae
mov edx, dword [esp + 0x31c]
push edx
call fcn.0050b609
add esp, 4
cmp dword [esp + 0x11c], 8
mov dword [esp + 0x330], 0xf
mov dword [esp + 0x32c], ebx
mov byte [esp + 0x31c], 0
jb 0x4370e2
mov eax, dword [esp + 0x108]
push eax
call fcn.0050b609
add esp, 4
mov esi, 7
mov byte [esp + 0x880], 0x33
cmp dword [esp + 0x154], 8
mov dword [esp + 0x11c], esi
mov dword [esp + 0x118], ebx
mov word [esp + 0x108], bx
jb 0x43711f
mov ecx, dword [esp + 0x140]
push ecx
call fcn.0050b609
add esp, 4
mov edx, dword [edi + 0x78]
push 0xfffffffffffffffe
push edx
mov dword [esp + 0x15c], esi
mov dword [esp + 0x158], ebx
mov word [esp + 0x148], bx
call fcn.00443d70
mov eax, dword [esp + 0x3c]
mov esi, dword [edi + 0x78]
add esp, 8
lea ecx, [esp + 0x57c]
call fcn.00455240
mov esi, eax
cmp esi, ebx
jne 0x436fe0
mov eax, dword [edi + 0x78]
push 1
push eax
lea ecx, [esp + 0x584]
mov dword [esp + 0x3c], 1
call fcn.004551c0
mov esi, eax
add esp, 8
test esi, esi
je 0x43730c
jmp 0x437190
add dword [esp + 0x34], 1
push esi
lea ecx, [esp + 0x1b0]
call fcn.0040a406
push esi
lea ecx, [esp + 0x178]
mov byte [esp + 0x884], 0x38
call fcn.0040a406
lea ecx, [esp + 0x1ac]
push ecx
lea esi, [esp + 0x370]
mov byte [esp + 0x884], 0x39
call fcn.00454f00
add esp, 4
mov ebx, eax
lea edx, [esp + 0x174]
push edx
lea esi, [esp + 0x354]
mov byte [esp + 0x884], 0x3a
call fcn.00454f00
add esp, 4
push eax
push edi
lea edx, [esp + 0x6c]
mov ecx, ebx
mov byte [esp + 0x888], 0x3b
call fcn.00433fc0
cmp dword [esp + 0x368], 0x10
jb 0x437226
mov eax, dword [esp + 0x354]
push eax
call fcn.0050b609
add esp, 4
xor ebx, ebx
cmp dword [esp + 0x384], 0x10
mov esi, 0xf
mov dword [esp + 0x368], esi
mov dword [esp + 0x364], ebx
mov byte [esp + 0x354], bl
jb 0x43725c
mov ecx, dword [esp + 0x370]
push ecx
call fcn.0050b609
add esp, 4
cmp dword [esp + 0x18c], 8
mov dword [esp + 0x384], esi
mov dword [esp + 0x380], ebx
mov byte [esp + 0x370], 0
jb 0x43728c
mov edx, dword [esp + 0x178]
push edx
call fcn.0050b609
add esp, 4
mov esi, 7
mov byte [esp + 0x880], 0x33
cmp dword [esp + 0x1c4], 8
mov dword [esp + 0x18c], esi
mov dword [esp + 0x188], ebx
mov word [esp + 0x178], bx
jb 0x4372c9
mov eax, dword [esp + 0x1b0]
push eax
call fcn.0050b609
add esp, 4
mov ecx, dword [edi + 0x78]
push 0xfffffffffffffffe
push ecx
mov dword [esp + 0x1cc], esi
mov dword [esp + 0x1c8], ebx
mov word [esp + 0x1b8], bx
call fcn.00443d70
mov edx, dword [esp + 0x3c]
mov eax, dword [edi + 0x78]
push edx
push eax
lea ecx, [esp + 0x58c]
call fcn.004551c0
mov esi, eax
add esp, 0x10
cmp esi, ebx
jne 0x437190
push 0x5604fd
lea ecx, [esp + 0xec]
call fcn.0040a2a0
lea ecx, [esp + 0xe8]
push ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0x884], 0x3c
call fcn.004491e0
mov byte [esp + 0x880], 0x33
cmp dword [esp + 0x100], 0x10
jb 0x437358
mov edx, dword [esp + 0xec]
push edx
call fcn.0050b609
add esp, 4
mov ecx, dword [esp + 0x3c]
push 2
push 0
lea eax, [esp + 0x6c]
push eax
push ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x110], 0xf
mov dword [esp + 0x10c], 0
mov byte [esp + 0xfc], 0
call fcn.0044b160
lea ecx, [esp + 0x64]
call fcn.00449060
jmp case.0x43588e.12
lea esi, [esp + 0x4cc]
mov ecx, ebx
call fcn.004494c0
mov dword [esp + 0x880], 0x3d
mov edx, dword [edi]
mov eax, dword [edx + 0x44]
xor ebx, ebx
push ebx
push 1
mov ecx, edi
call eax
cmp dword [esp + 0x4e0], ebx
jbe 0x437459
mov ecx, esi
push 0x5650b8
push ecx
call fcn.0040debd
add esp, 8
test al, al
je 0x4373fc
push 0x5604fd
call fcn.0050b770
add esp, 4
push eax
push 0x5604fd
mov ecx, esi
call fcn.0040b689
lea edx, [esp + 0x4cc]
push edx
lea esi, [esp + 0x338]
call fcn.00454d80
add esp, 4
mov byte [esp + 0x880], 0x3e
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp dword [esp + 0x34c], 8
jb 0x43743f
mov ecx, dword [esp + 0x338]
push ecx
call fcn.0050b609
add esp, 4
mov dword [esp + 0x34c], 7
mov dword [esp + 0x348], ebx
mov word [esp + 0x338], bx
cmp dword [esp + 0x4e4], 0x10
jb case.0x43588e.12
mov edx, dword [esp + 0x4d0]
jmp 0x4377da
mov eax, dword [edi]
mov edx, dword [eax + 0x48]
push 0
push 1
mov ecx, edi
call edx
jmp case.0x43588e.12
mov eax, dword [edi]
mov edx, dword [eax + 0x4c]
push 0
push 1
mov ecx, edi
call edx
jmp case.0x43588e.12
mov eax, dword [edi]
mov edx, dword [eax + 0x50]
push 0
push 1
mov ecx, edi
call edx
jmp case.0x43588e.12
lea eax, [esp + 0x64]
call fcn.00448ff0
lea esi, [edi + 0xf0]
mov ecx, esi
mov dword [esp + 0x880], 0x3f
call fcn.00438da0
push eax
lea ecx, [esp + 0x68]
call fcn.004491a0
mov ecx, esi
call fcn.00438da0
mov ebx, eax
sub ebx, 1
js 0x4374f9
push ebx
mov ecx, esi
call fcn.00438dd0
push eax
lea ecx, [esp + 0x68]
call fcn.004491e0
sub ebx, 1
jns 0x4374e2
mov ecx, dword [esp + 0x3c]
push 2
push 0
lea eax, [esp + 0x6c]
push eax
push ecx
mov ecx, dword [edi + 4]
call fcn.0044b160
lea ecx, [esp + 0x64]
call fcn.00449060
jmp case.0x43588e.12
mov ecx, ebx
call fcn.00449440
lea esi, [esp + 0x4cc]
mov ecx, ebx
mov byte [esp + 0x57], al
call fcn.004494c0
mov ecx, ebx
mov dword [esp + 0x880], 0x40
call fcn.00449480
mov ebx, dword [edi + 0x78]
lea edi, [esp + 0x57c]
xor ecx, ecx
mov edx, ebx
mov dword [esp + 0x40], eax
mov byte [esp + 0x48], 0
call fcn.00455140
test eax, eax
je 0x437652
push 0x5635b0
mov eax, edi
call fcn.004555d0
mov edx, dword [esp + 0x58c]
movzx eax, word [edx]
add esp, 4
cmp ax, 0x4c
je 0x437595
cmp ax, 0x6d
jne 0x437652
mov eax, dword [esp + 0x614]
mov edx, dword [esp + 0x38]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0x78]
mov edx, dword [eax + 0x28]
test byte [edx + ecx*4 + 8], 1
lea esi, [edx + ecx*4]
jne 0x437652
mov eax, dword [esi]
mov ecx, dword [eax - 8]
mov ebx, dword [ecx + 0xc]
mov ecx, dword [ebx + 0x20]
add ecx, 0x1a
lea edi, [esp + 0x524]
call fcn.004246f0
lea ecx, [esp + 0x4cc]
call fcn.0040a35b
push eax
mov ecx, edi
call fcn.0040a35b
push eax
call fcn.00513154
add esp, 8
test eax, eax
jne 0x437638
mov edx, dword [ebx + 0x34]
test edx, edx
jle 0x437638
mov ecx, dword [ebx + 0x14]
mov edi, dword [esp + 0x40]
cmp dword [ecx], edi
je 0x437616
add eax, 1
add ecx, 4
cmp eax, edx
jl 0x437602
jmp 0x437638
cmp byte [esp + 0x57], 0
je 0x437633
mov edx, dword [esp + 0x38]
mov dword [edx + 0xa8], edi
mov ecx, dword [ebx + 0xc]
lea edx, [ecx + eax*4 + 4]
mov eax, dword [esi + 0x14]
mov dword [eax], edx
mov byte [esp + 0x48], 1
cmp dword [esp + 0x53c], 0x10
jb 0x437652
mov ecx, dword [esp + 0x528]
push ecx
call fcn.0050b609
add esp, 4
lea eax, [esp + 0x64]
call fcn.00448ff0
mov edx, dword [esp + 0x48]
push edx
mov ecx, eax
mov byte [esp + 0x884], 0x41
call fcn.00449180
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push 2
push 0
lea eax, [esp + 0x6c]
push eax
push ecx
mov ecx, dword [edx + 4]
call fcn.0044b160
lea ecx, [esp + 0x64]
call fcn.00449060
cmp dword [esp + 0x4e4], 0x10
jb case.0x43588e.12
mov eax, dword [esp + 0x4d0]
push eax
jmp 0x4377db
mov ecx, ebx
call fcn.00449480
mov dword [esp + 0x40], eax
lea esi, [edi + 0x4c]
lea ebx, [esp + 0x40]
lea eax, [esp + 0x58]
call fcn.00438b40
mov ecx, dword [esi + 4]
mov dword [esp + 0x4c], esi
lea esi, [esp + 0x4c]
lea edi, [esp + 0x58]
mov dword [esp + 0x50], ecx
call fcn.0043a290
test al, al
je case.0x43588e.12
mov esi, edi
call fcn.0043a270
mov edx, eax
lea eax, [esp + 0x64]
add edx, 4
call fcn.00448ff0
mov dword [esp + 0x880], 0x42
mov edx, dword [edx]
push edx
mov ecx, eax
call fcn.004491a0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push 2
push 0
lea eax, [esp + 0x6c]
push eax
push ecx
mov ecx, dword [edx + 4]
call fcn.0044b160
lea ecx, [esp + 0x64]
call fcn.00449060
jmp case.0x43588e.12
mov ecx, ebx
call fcn.00449480
mov ecx, ebx
mov dword [esp + 0x40], eax
call fcn.00449480
mov dword [esp + 0x58], eax
lea esi, [edi + 0x4c]
lea ebx, [esp + 0x40]
lea eax, [esp + 0x98]
call fcn.00438b40
mov eax, dword [esi + 4]
mov dword [esp + 0x4c], esi
lea esi, [esp + 0x4c]
lea edi, [esp + 0x98]
mov dword [esp + 0x50], eax
call fcn.0043a290
test al, al
je case.0x43588e.12
mov esi, edi
call fcn.0043a270
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
jmp case.0x43588e.12
lea esi, [esp + 0x524]
mov ecx, ebx
call fcn.004494c0
mov ebx, esi
mov dword [esp + 0x880], 0x43
call fcn.00424500
mov ecx, esi
call fcn.0040a35b
push edi
mov esi, eax
call fcn.004354c0
test eax, eax
je 0x4377c9
mov byte [eax + 0x48], 1
cmp dword [esp + 0x53c], 0x10
jb case.0x43588e.12
mov edx, dword [esp + 0x528]
push edx
call fcn.0050b609
add esp, 4
mov ecx, dword [esp + 0x878]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x830]
xor ecx, esp
call fcn.0050bc9c
mov esp, ebp
pop ebp
ret 0xc