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

Disassembly:
sub esp, 0x64
push ebx
push ebp
mov ebp, dword [esp + 0x70]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x40], ecx
push esi
push edi
mov ebx, dword [ebp + 8]
mov byte [esp + 0x13], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x50], edx
mov ecx, dword [ebx + 0x6c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x54], ecx
cmp dword [ebx + 0x70], ecx
jg 0x45951b
push edx
push edx
push edx
push 0x11
push ebx
call fcn.004752f0
add esp, 0x14
mov dword [esp + 0x54], eax
jmp 0x45953e
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x11
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], edx
mov edx, dword [esp + 0x80]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], esi
mov eax, dword [edx + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x7c]
mov edi, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x18], eax
cmp edi, dword [esp + 0x34]
jae 0x459780
lea esp, [esp]
mov ecx, dword [esp + 0x28]
mov esi, dword [edi]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x459606
test byte [edi + 0xa], 2
jne 0x459606
test byte [esi + 4], 1
jne 0x459606
mov eax, 3
mov dword [esp + 0x5c], fcn.0045f400
mov word [esp + 0x6c], ax
mov eax, dword [edx + 0x2c]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x58]
push esi
push eax
mov dword [esp + 0x68], 0x4b3290
call fcn.004d6ac0
add esp, 8
cmp word [esp + 0x6c], 0
je 0x4595ff
push 0
push 0
push esi
push dword [ebp]
call fcn.0045e990
push eax
push dword [esp + 0x40]
push ebp
call fcn.00494410
add esp, 0x1c
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x80]
mov ecx, dword [edi + 0x14]
cmp ecx, dword [edx + 0x2c]
jne 0x459767
movzx ecx, word [edi + 0xc]
test cl, 0x82
je 0x459767
test byte [edx + 0x24], 8
je 0x459635
mov eax, dword [edi]
test byte [eax + 4], 1
jne 0x459635
test cl, cl
js 0x459767
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [esp + 0x84]
and eax, dword [esp + 0x88]
or ecx, eax
jne 0x459767
mov ecx, dword [edi + 0x1c]
test ecx, ecx
js 0x459767
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
push dword [edi]
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*4 + 0xd]
mov byte [esp + 0x16], al
call fcn.00458d40
add esp, 4
cmp al, 0x42
jl 0x45969b
jne 0x459689
xor eax, eax
cmp byte [esp + 0x12], 0x42
sete al
jmp 0x459693
xor eax, eax
cmp byte [esp + 0x12], 0x43
setge al
test eax, eax
je 0x459760
mov esi, dword [edi + 0x1c]
cmp esi, 0x40
jl 0x4596af
xor ebp, ebp
mov dword [esp + 0x44], 0x80000000
jmp 0x4596c3
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.0040b590
mov ebp, eax
mov dword [esp + 0x44], edx
cmp byte [esp + 0x13], 0
jne 0x4596f0
mov eax, dword [esp + 0x3c]
lea esi, [esi + esi*4]
mov ecx, dword [eax + 4]
push dword [ecx + esi*4]
push dword [eax]
push str.automatic_index_on__s__s_
push 0x11c
call fcn.0044c270
add esp, 0x10
mov byte [esp + 0x13], 1
mov esi, dword [esp + 0x44]
mov ecx, ebp
and ecx, dword [esp + 0x24]
mov eax, esi
and eax, dword [esp + 0x18]
or ecx, eax
jne 0x45975c
mov eax, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x2c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x80]
push dword [eax]
call fcn.004d9b90
add esp, 0xc
test eax, eax
jne 0x45a026
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
or dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x78]
mov eax, dword [eax + 0x30]
mov edx, dword [esp + 0x80]
mov dword [eax + ecx*4], edi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x4c]
or eax, esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jmp 0x45976f
mov ebp, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add edi, 0x30
cmp edi, dword [esp + 0x34]
jb 0x459590
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
not eax
or eax, 0x80000000
not esi
mov word [edi + 0x28], cx
mov word [edi + 0x18], cx
mov dword [edi + 0x24], 0x4241
mov edi, dword [edx + 0x3c]
and eax, edi
and esi, dword [edx + 0x38]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x24], esi
xor esi, esi
mov dword [esp + 0x4c], edi
movzx ecx, word [eax + 0x2a]
mov eax, 0x3f
mov dword [esp + 0x44], ecx
cmp ax, cx
jge 0x4597ce
mov dword [esp + 0x38], eax
jmp 0x4597d9
movsx eax, cx
mov dword [esp + 0x38], eax
test eax, eax
jle 0x459817
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.0040b590
and eax, dword [esp + 0x24]
and edx, edi
or eax, edx
je 0x4597fe
inc ebp
inc esi
cmp esi, ebx
jl 0x4597e5
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x78]
and edi, 0x80000000
xor eax, eax
or eax, edi
je 0x459835
movsx eax, cx
mov ecx, dword [esp + 0x14]
add ecx, 0xffffffc1
add ecx, eax
mov dword [esp + 0x14], ecx
jmp 0x459839
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov ecx, dword [ebp]
movzx eax, ax
movsx edi, ax
mov dword [esp + 0x40], eax
lea edx, [edi*4 + 7]
and edx, 0xfffffff8
lea eax, [edi*4 + 9]
add eax, edi
mov dword [esp + 0x4c], edx
and eax, 0xfffffff8
add edx, 0x48
add eax, edx
cdq
mov esi, eax
test ecx, ecx
je 0x45987c
push edx
push esi
push ecx
call fcn.00491d60
add esp, 0xc
jmp 0x4598e1
mov eax, esi
or eax, edx
je 0x4598df
test edx, edx
ja 0x4598df
jb 0x459890
cmp esi, 0x7fffff00
jae 0x4598df
cmp dword [0x5061d8], 0
je 0x4598d3
mov eax, dword [0x50df18]
test eax, eax
je 0x4598ac
push eax
call dword [0x506228]
add esp, 4
lea eax, [esp + 0x44]
push eax
push esi
call fcn.00478760
mov eax, dword [0x50df18]
add esp, 8
test eax, eax
je 0x4598cd
push eax
call dword [0x506230]
add esp, 4
mov eax, dword [esp + 0x44]
jmp 0x4598e1
push esi
call dword [0x5061f8]
add esp, 4
jmp 0x4598e1
xor eax, eax
mov dword [esp + 0x1c], eax
test eax, eax
je 0x45a02a
push esi
mov esi, eax
push 0
push esi
call sub.MSVCRT.dll_memset
lea eax, [esi + 0x48]
add esp, 0xc
mov dword [esi + 0x20], eax
add eax, dword [esp + 0x4c]
mov dword [esi + 8], eax
lea eax, [eax + edi*2]
add eax, 2
mov dword [esi + 4], eax
lea eax, [eax + edi*2]
xor edi, edi
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x40]
mov word [esi + 0x34], ax
dec eax
mov word [esi + 0x32], ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [eax + 0x20], esi
mov eax, dword [esp + 0x3c]
mov dword [esi], str.auto_index
mov dword [esi + 0xc], eax
mov esi, dword [esp + 0x7c]
mov esi, dword [esi + 0x14]
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0x34]
jae 0x459ac9
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x80]
mov eax, dword [esi + 0x14]
cmp eax, dword [edx + 0x2c]
jne 0x459ab4
movzx ecx, word [esi + 0xc]
test cl, 0x82
je 0x459ab4
test byte [edx + 0x24], 8
je 0x459991
mov eax, dword [esi]
test byte [eax + 4], 1
jne 0x459991
test cl, cl
js 0x459ab4
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
and ecx, dword [esp + 0x84]
and eax, dword [esp + 0x88]
or ecx, eax
jne 0x459ab4
mov ecx, dword [esi + 0x1c]
test ecx, ecx
js 0x459ab4
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
push dword [esi]
mov eax, dword [eax + 4]
mov al, byte [eax + ecx*4 + 0xd]
mov byte [esp + 0x17], al
call fcn.00458d40
add esp, 4
cmp al, 0x42
jl 0x4599f7
jne 0x4599e5
xor eax, eax
cmp byte [esp + 0x13], 0x42
sete al
jmp 0x4599ef
xor eax, eax
cmp byte [esp + 0x13], 0x43
setge al
test eax, eax
je 0x459aad
mov ecx, dword [esi + 0x1c]
cmp ecx, 0x40
jl 0x459a0c
mov ecx, 0x80000000
xor eax, eax
mov dword [esp + 0x4c], ecx
jmp 0x459a1e
mov eax, 1
xor edx, edx
call fcn.0040b590
mov ecx, edx
mov dword [esp + 0x4c], edx
and ecx, dword [esp + 0x44]
mov esi, eax
and esi, dword [esp + 0x40]
or esi, ecx
mov esi, dword [esp + 0x30]
jne 0x459aad
or dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
or eax, dword [esp + 0x4c]
mov edx, dword [esi]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x44], eax
mov ax, word [esi + 0x1c]
mov word [ecx + edi*2], ax
test dword [edx + 4], 0x200
je 0x459a5e
mov esi, dword [edx + 0xc]
mov eax, dword [edx + 0x10]
jmp 0x459a64
mov esi, dword [edx + 0x10]
mov eax, dword [edx + 0xc]
test dword [eax + 4], 0x100
je 0x459a70
push eax
jmp 0x459a8c
test esi, esi
je 0x459a7d
test dword [esi + 4], 0x100
jne 0x459a8b
push eax
push ebp
call fcn.00496db0
add esp, 8
test eax, eax
jne 0x459a99
push esi
push ebp
call fcn.00496db0
add esp, 8
test eax, eax
je 0x459a9d
mov ecx, dword [eax]
jmp 0x459aa2
mov ecx, 0x4e9d50
mov eax, dword [ebx + 0x20]
mov esi, dword [esp + 0x30]
mov dword [eax + edi*4], ecx
inc edi
mov edx, dword [esp + 0x80]
add esi, 0x30
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0x34]
jb 0x459962
mov ebx, dword [esp + 0x20]
xor esi, esi
cmp dword [esp + 0x38], esi
jle 0x459b19
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
lea esp, [esp]
mov eax, 1
xor edx, edx
mov ecx, esi
call fcn.0040b590
and eax, dword [esp + 0x24]
and edx, dword [esp + 0x18]
or eax, edx
je 0x459b0c
mov eax, dword [ebp + 4]
mov word [eax + edi*2], si
mov eax, dword [ebp + 0x20]
mov dword [eax + edi*4], 0x4e9d50
inc edi
inc esi
cmp esi, ebx
jl 0x459ae0
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x78]
mov ecx, dword [esp + 0x80]
xor eax, eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x3c]
and ecx, 0x80000000
or eax, ecx
je 0x459b5f
mov esi, dword [esp + 0x3c]
mov eax, 0x3f
cmp ax, word [esi + 0x2a]
jge 0x459b5f
mov ecx, eax
mov eax, dword [edx + 4]
mov word [eax + edi*2], cx
inc ecx
mov eax, dword [edx + 0x20]
mov dword [eax + edi*4], 0x4e9d50
inc edi
movsx eax, word [esi + 0x2a]
cmp ecx, eax
jl 0x459b44
mov eax, dword [edx + 4]
or ecx, 0xffffffff
mov word [eax + edi*2], cx
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x14]
inc edx
mov dword [eax + edi*4], 0x4e9d50
mov eax, dword [ebp + 0x28]
mov dword [ecx + 8], eax
inc dword [ebp + 0x28]
mov esi, dword [ecx + 8]
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x459ba4
push 0
push edx
push esi
push 0x63
push ebx
call fcn.004752f0
add esp, 0x14
jmp 0x459bd3
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov ebx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x63
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x1c]
mov esi, dword [ebp + 8]
push ebp
call fcn.004a5e50
mov edx, eax
add esp, 8
test edx, edx
je 0x459c11
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
je 0x459bff
push edx
push 0xfffffffffffffff7
push eax
call fcn.00462150
add esp, 0xc
jmp 0x459c11
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
mov edx, dword [esp + 0x8c]
movzx eax, byte [edx + 0x34]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 0x30], 0x10
lea ebp, [eax + ecx*8]
je 0x459d20
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x80], edx
mov dword [esp + 0x48], ecx
cmp dword [ebx + 0x70], ecx
jg 0x459c6a
push 0
push 0
push 0
push 0x45
push ebx
call fcn.004752f0
mov edx, dword [esp + 0x94]
add esp, 0x14
mov dword [esp + 0x48], eax
jmp 0x459c9d
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0x6c]
mov esi, dword [ebp + 0x20]
cmp dword [ebx + 0x70], ecx
jg 0x459cc0
push esi
push 0
push edx
push 0xd
push ebx
call fcn.004752f0
mov edx, dword [esp + 0x94]
add esp, 0x14
jmp 0x459cef
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov ebx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], esi
jg 0x459d0b
push 0
push 0
push edx
push 0xe
push ebx
call fcn.004752f0
add esp, 0x14
mov esi, eax
jmp 0x459d72
lea eax, [esi + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0xe
jmp 0x459d52
mov esi, dword [ebx + 0x6c]
mov edx, dword [edx + 4]
cmp dword [ebx + 0x70], esi
jg 0x459d3f
push 0
push 0
push edx
push 0x25
push ebx
call fcn.004752f0
add esp, 0x14
mov esi, eax
jmp 0x459d72
lea eax, [esi + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0x25
mov ebx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x459da0
mov eax, dword [esp + 0x78]
push 0x10
dec dword [eax + 0x38]
mov edx, dword [eax + 0x38]
push edx
push ecx
push eax
mov dword [esp + 0x60], edx
call fcn.00497630
mov eax, dword [esp + 0x38]
add esp, 0x10
or dword [eax + 0x24], 0x20000
mov ecx, dword [esp + 0x78]
mov al, byte [ecx + 0x13]
test al, al
jne 0x459db3
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
jmp 0x459dc2
dec al
mov byte [ecx + 0x13], al
movzx eax, al
mov eax, dword [ecx + eax*4 + 0x94]
push 0
push 0
push 0
push 0
push eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
push dword [eax + 4]
push dword [esp + 0x34]
push ecx
call fcn.004a2260
mov ecx, dword [ebx + 0x6c]
add esp, 0x20
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 8]
mov dword [esp + 0x7c], eax
cmp dword [ebx + 0x70], ecx
jg 0x459e1e
mov edx, dword [esp + 0x80]
push 0
push edx
push eax
push 0x83
push ebx
call fcn.004752f0
add esp, 0x14
jmp 0x459e54
mov edx, dword [esp + 0x7c]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x80]
mov dword [eax + ecx*4], 0x83
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x459e6b
lea ecx, [eax + eax*4]
mov edx, 0x10
mov eax, dword [ebx + 0x68]
mov word [eax + ecx*4 - 0x12], dx
cmp dword [esp + 0x2c], 0
je 0x459e99
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x50]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x459e90
push edx
push ebx
push ecx
call fcn.00483c50
add esp, 0xc
jmp 0x459e99
mov ecx, dword [ecx + 0x40]
mov eax, dword [ebx + 0x6c]
mov dword [ecx + edx*4], eax
test byte [ebp + 0x30], 0x10
je 0x459f47
mov ecx, dword [esp + 0x48]
test ecx, ecx
jns 0x459eaf
mov ecx, dword [ebx + 0x6c]
dec ecx
mov eax, dword [ebx]
cmp byte [eax + 0x51], 0
je 0x459ebe
mov ecx, 0x50e22c
jmp 0x459ec7
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x4c]
add eax, edi
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x8c]
push dword [eax + 8]
push dword [ebp + 0x28]
push dword [eax + 4]
mov eax, dword [esp + 0x84]
push esi
push eax
call fcn.004cee70
mov ecx, dword [ebx + 0x6c]
add esp, 0x14
cmp dword [ebx + 0x70], ecx
jg 0x459f12
push 0
push esi
push 0
push 0xb
push ebx
call fcn.004752f0
add esp, 0x14
and dword [ebp + 0x30], 0xffffffef
jmp 0x459faf
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
and dword [ebp + 0x30], 0xffffffef
jmp 0x459faf
mov eax, dword [esp + 0x8c]
lea edx, [esi + 1]
mov ecx, dword [ebx + 0x6c]
mov edi, dword [eax + 4]
cmp dword [ebx + 0x70], ecx
jg 0x459f6d
push 0
push edx
push edi
push 5
push ebx
call fcn.004752f0
add esp, 0x14
jmp 0x459f98
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x459faf
lea ecx, [eax + eax*4]
mov edx, 3
mov eax, dword [ebx + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [ebx + 0x6c]
test esi, esi
jns 0x459fb9
lea esi, [edx - 1]
mov eax, dword [ebx]
cmp byte [eax + 0x51], 0
je 0x459fc8
mov eax, 0x50e22c
jmp 0x459fd1
mov eax, dword [ebx + 0x68]
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0x78]
mov dword [eax + 8], edx
test ecx, ecx
je 0x459ff7
mov al, byte [ebp + 0x13]
cmp al, 8
jae 0x459ff7
movzx eax, al
mov dword [ebp + eax*4 + 0x94], ecx
inc byte [ebp + 0x13]
mov ecx, dword [esp + 0x54]
mov edx, dword [ebx + 0x6c]
test ecx, ecx
jns 0x45a005
lea ecx, [edx - 1]
mov eax, dword [ebx]
cmp byte [eax + 0x51], 0
je 0x45a017
mov eax, 0x50e22c
mov dword [eax + 8], edx
jmp 0x45a02a
mov eax, dword [ebx + 0x68]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x45a02a
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x45a03e
push eax
push dword [ebp]
call fcn.00497330
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret