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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
mov eax, dword [0x549944]
xor eax, esp
mov dword [esp + 0x94], eax
mov eax, ecx
mov dword [esp + 4], edx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x28], ecx
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0x64], ecx
xor ecx, ecx
push esi
mov esi, dword [eax + 8]
mov dword [esp + 0x60], ecx
mov byte [esp + 0x46], cl
mov ecx, dword [eax]
mov dword [esp + 0x14], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x3c], esi
push edi
mov edi, dword [ebp + 0x2c]
mov dword [esp + 0x28], edi
test esi, esi
jne 0x45dd16
cmp dword [eax + 0x78], esi
jne 0x45dd05
test byte [ecx + 0x44], 8
jne 0x45dd05
mov byte [eax + 0x17], 1
mov ecx, eax
call fcn.00425fe0
mov edx, dword [esp + 0xc]
mov esi, eax
mov dword [esp + 0x40], esi
test byte [edx + 0x24], 0x20
movsx eax, word [edx + 0x2a]
mov dword [esp + 0x4c], eax
jne 0x45dd36
mov dword [esp + 0x34], 0
mov dword [esp + 0x54], 1
jmp 0x45dd61
mov ecx, dword [edx + 8]
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x45dd59
mov eax, dword [ecx + 0x38]
and al, 3
cmp al, 2
je 0x45dd51
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x45dd41
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x34], ecx
movzx ecx, word [ecx + 0x32]
mov dword [esp + 0x54], ecx
test eax, eax
jle 0x45e035
mov ecx, dword [ebp + 0x14]
xor edi, edi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov eax, ecx
not eax
mov dword [esp + 0x20], edi
lea edx, [ecx + 1]
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], edx
nop dword [eax]
lea ecx, [edx + eax]
mov eax, dword [esp + 0xc]
movsx eax, word [eax + 0x28]
cmp ecx, eax
je 0x45e006
cmp dword [esp + 0x28], 0
je 0x45ddb7
mov eax, dword [esp + 0x24]
cmp dword [eax], 0
jl 0x45e006
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov al, byte [edi + ecx + 0xc]
movzx edi, al
mov dword [esp + 0x3c], edi
test al, al
je 0x45e006
mov ah, byte [ebp + 0x20]
cmp ah, 0xa
jne 0x45de45
cmp al, ah
jne 0x45de45
mov edi, 2
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, dword [esp + 0xc]
mov byte [ecx + 0x15], 1
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x20]
push dword [ecx + eax]
mov eax, dword [esp + 0x10]
push dword [eax]
push 0x53a7a4
push dword [esp + 0x5c]
call fcn.00407470
mov ecx, dword [esi + 0x88]
add esp, 0x10
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x30], ecx
jg 0x45de7d
push edx
push edi
push 0x513
mov edx, 0x41
mov ecx, esi
call fcn.00426240
add esp, 0xc
jmp 0x45deab
cmp ah, 0xa
movzx edi, ah
cmove edi, dword [esp + 0x3c]
cmp edi, 5
jne 0x45de6a
mov eax, dword [esp + 0x20]
cmp dword [eax + ecx + 4], 0
jne 0x45de6a
mov edi, 2
jmp case.0x45de76.2
lea eax, [edi - 1]
cmp eax, 3
ja case.default.0x45de76
jmp dword [eax*4 + 0x45f2e4]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0x41
mov dword [eax + ecx*4 + 4], 0x513
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
mov edx, dword [esp + 0x2c]
cmp byte [ecx + 0x49], 0
je 0x45dec7
push edx
mov edx, 0xfffffff9
call fcn.00426b10
add esp, 4
jmp 0x45dedc
mov eax, dword [esi + 0x88]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
mov byte [eax + ecx*4 - 0x13], 0xf9
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [esi + 0x88]
test eax, eax
jle 0x45e002
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [esi + 0x58]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x45e002
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x45df27
push 0
push dword [ebp + 0x24]
mov ecx, esi
push edx
mov edx, 0x32
call fcn.00426240
add esp, 0xc
jmp 0x45e002
mov edi, dword [ebp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x45e006
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x88]
cmp dword [eax + 0x30], edi
jg 0x45df87
push 0
push 0
push edx
mov edx, 0x33
mov ecx, esi
call fcn.00426240
mov edx, dword [esp + 0x20]
add esp, 0xc
mov edi, eax
jmp 0x45dfbd
lea eax, [edi + 1]
mov dword [esi + 0x88], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x24]
mov edx, dword [edx + eax + 4]
call fcn.00443650
mov eax, dword [esi]
add esp, 4
mov edx, dword [esi + 0x88]
cmp byte [eax + 0x49], 0
je 0x45dfee
mov eax, 0x550080
jmp 0x45dfff
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
inc edx
add dword [esp + 0x20], 0x10
add eax, edx
add dword [esp + 0x24], 4
cmp eax, dword [esp + 0x4c]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x14], edx
jl 0x45dd90
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x18]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x44], 2
test edx, edx
je 0x45e2b7
mov eax, dword [esp + 0x50]
test dword [eax + 0x1c], 0x200
jne 0x45e2b7
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 0x14]
not eax
mov dword [ecx + 0x38], eax
mov al, byte [ebp + 0x20]
cmp al, 0xa
je 0x45e079
movzx eax, al
mov dword [esp + 0x24], eax
jmp 0x45e081
mov dword [esp + 0x24], 2
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp dword [edx], ecx
jle 0x45e2ac
lea eax, [edx + 8]
mov dword [esp + 0x4c], 3
mov dword [esp + 0x10], eax
nop
mov eax, dword [eax - 4]
mov dword [esp + 0x58], eax
test edi, edi
je 0x45e104
mov dword [esp + 0x88], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0x70], xmm0
movq qword [esp + 0x80], xmm0
mov dword [esp + 0x74], 0x45dc50
mov dword [esp + 0x88], edi
test eax, eax
je 0x45e0ed
mov edx, eax
lea ecx, [esp + 0x70]
call fcn.00439220
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
cmp byte [ebp + 0x1c], 0
mov al, byte [esp + 0x84]
jne 0x45e0fc
and al, 0xfd
test al, al
je 0x45e294
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x3c], ecx
mov edi, dword [ecx + 0x44]
lea eax, [edi + 1]
mov dword [ecx + 0x44], eax
lea eax, [edi - 1]
test edi, eax
jne 0x45e139
mov edx, dword [ecx + 0x48]
lea eax, [edi*8 + 4]
mov ecx, dword [ecx]
push 0
push eax
call fcn.004055e0
mov ecx, dword [esp + 0x44]
add esp, 8
mov dword [ecx + 0x48], eax
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x45e147
mov dword [eax + edi*4], 0xffffffff
push 0x10
not edi
push edi
push dword [esp + 0x60]
push dword [esp + 0x24]
call fcn.00443af0
mov edx, dword [esp + 0x34]
add esp, 0x10
cmp edx, 4
jne 0x45e1c8
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x45e18e
push 0
push dword [ebp + 0x24]
mov edx, 0xd
mov ecx, esi
push 0
call fcn.00426240
add esp, 0xc
jmp 0x45e26d
mov edx, dword [ebp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x45e26d
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov dword [esp + 0x2c], ecx
test ecx, ecx
jne 0x45e1e0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x18]
cmp edx, 5
mov eax, 2
cmove edx, eax
mov dword [esp + 0x24], edx
mov eax, dword [ecx + 8]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x45e220
cmp dword [ecx + 0x78], eax
jne 0x45e20f
mov eax, dword [ecx]
test byte [eax + 0x44], 8
jne 0x45e20f
mov byte [ecx + 0x17], 1
call fcn.00425fe0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
cmp edx, 2
jne 0x45e231
mov eax, dword [ecx + 0x78]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
mov ecx, dword [esp + 0x14]
push 0
push dword [esp + 0x30]
push 0
push edx
push 0x113
mov edx, 0x42
call fcn.00426570
mov eax, dword [esp + 0x28]
add esp, 0x14
mov ecx, dword [eax + 0x88]
test ecx, ecx
jle 0x45e26d
mov eax, dword [eax + 0x58]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x4c]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x45e28c
lea eax, [edi*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [ecx], eax
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
inc ecx
add eax, 0x18
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
cmp ecx, dword [edx]
jl 0x45e0a0
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], 0
cmp byte [ebp + 0x1c], 0
je 0x45e6d4
cmp dword [esp + 0x34], 0
jne 0x45e6d4
mov edi, dword [esi + 0xc]
mov edx, dword [edi + 0x44]
mov dword [esp + 0x20], edx
lea eax, [edx + 1]
mov dword [edi + 0x44], eax
lea eax, [edx - 1]
test edx, eax
jne 0x45e301
mov ecx, dword [edi]
lea eax, [edx*8 + 4]
mov edx, dword [edi + 0x48]
push 0
push eax
call fcn.004055e0
mov edx, dword [esp + 0x28]
add esp, 8
mov dword [edi + 0x48], eax
mov eax, dword [edi + 0x48]
test eax, eax
je 0x45e30f
mov dword [eax + edx*4], 0xffffffff
mov eax, dword [esp + 0xc]
not edx
mov cl, byte [ebp + 0x20]
mov dword [esp + 0x20], edx
movzx edi, byte [eax + 0x30]
cmp cl, 0xa
je 0x45e32a
movzx edi, cl
jmp 0x45e332
cmp edi, 0xa
cmove edi, dword [esp + 0x44]
cmp dword [ebp + 0x18], 0
je 0x45e3b3
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x45e35e
push dword [ebp + 0x18]
mov ecx, esi
push edx
push dword [ebp + 0x14]
mov edx, 0x35
call fcn.00426240
add esp, 0xc
jmp 0x45e392
mov edx, dword [ebp + 0x14]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 0x18]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x88]
test eax, eax
jle 0x45e3ac
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x58]
mov word [eax + ecx*4 - 0x12], dx
mov cl, byte [ebp + 0x20]
mov eax, dword [esp + 0xc]
cmp edi, 5
jne 0x45e449
cmp cl, 5
je 0x45e449
mov eax, dword [eax + 8]
test eax, eax
je 0x45e449
nop dword [eax]
mov cl, byte [eax + 0x36]
cmp cl, 4
je 0x45e3e6
cmp cl, 3
je 0x45e3e6
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x45e3d0
jmp 0x45e449
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x88]
mov dword [esp + 0x5c], edx
cmp dword [eax + 0x30], edx
jg 0x45e413
push 0
push 0
push 0
mov edx, 0xd
mov ecx, esi
call fcn.00426240
add esp, 0xc
mov dword [esp + 0x5c], eax
jmp 0x45e449
lea eax, [edx + 1]
mov dword [esi + 0x88], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0xd
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 eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x45e474
push dword [ebp + 0x14]
mov edx, dword [esp + 0x24]
mov ecx, esi
push edx
mov edx, dword [ebp + 0xc]
push edx
mov edx, 0x20
call fcn.00426240
add esp, 0xc
jmp 0x45e4a8
mov edx, dword [ebp + 0xc]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 0x14]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
lea eax, [edi - 1]
cmp eax, 4
ja case.default.0x45e4b4
jmp dword [eax*4 + 0x45f2f4]
mov eax, dword [esp + 0x50]
xor edi, edi
test dword [eax + 0x1c], 0x2000
je 0x45e514
mov ecx, dword [esp + 0x18]
xor edx, edx
mov eax, dword [ecx]
test dword [eax + 0x1c], 0x40000
je 0x45e4e6
mov edx, dword [esp + 0xc]
call fcn.00475890
mov edx, eax
mov ecx, edx
test edx, edx
je 0x45e503
nop dword [eax]
cmp byte [ecx + 8], 0x6d
jne 0x45e4fc
movzx eax, byte [ecx + 9]
or edi, eax
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x45e4f0
xor eax, eax
test edi, edi
cmovne eax, edx
mov dword [esp + 0x2c], eax
mov edi, eax
test eax, eax
jne 0x45e568
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
push 0
push 0
call fcn.0045a910
add esp, 8
test eax, eax
jne 0x45e568
mov edx, dword [esp + 0xc]
cmp dword [edx + 8], eax
je 0x45e59c
mov edi, dword [esp + 0x18]
mov ecx, edi
push 0xffffffffffffffff
push 0
push dword [ebp + 0x10]
mov eax, dword [edi + 0x78]
test eax, eax
push dword [ebp + 0xc]
cmovne ecx, eax
mov byte [ecx + 0x14], 1
mov ecx, edi
call fcn.00454cc0
add esp, 0x10
mov dword [esp + 0x60], 1
jmp 0x45e61a
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
push 0xffffffffffffffff
push 1
mov eax, dword [ecx + 0x78]
test eax, eax
push 5
push 0
push 1
push dword [ebp + 0x14]
cmovne ecx, eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov byte [ecx + 0x14], 1
mov ecx, dword [esp + 0x38]
push edi
call fcn.00454740
add esp, 0x24
mov dword [esp + 0x60], 1
jmp 0x45e61a
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x45e5cc
push 0
push dword [ebp + 0x24]
mov edx, 0xd
mov ecx, esi
push 0
call fcn.00426240
add esp, 0xc
jmp 0x45e61a
mov edx, dword [ebp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x45e61a
mov edi, 2
push dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.00451e60
add esp, 4
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x45e639
mov eax, dword [esp + 0x20]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [ecx], eax
cmp dword [esp + 0x5c], 0
je 0x45e6d4
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x88]
mov dword [esp + 0x64], edi
cmp dword [eax + 0x30], edi
jg 0x45e671
push 0
push 0
push 0
mov edx, 0xd
mov ecx, esi
call fcn.00426240
add esp, 0xc
mov dword [esp + 0x64], eax
jmp 0x45e6a7
lea eax, [edi + 1]
mov dword [esi + 0x88], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0xd
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 eax, dword [esi]
mov edx, dword [esi + 0x88]
cmp byte [eax + 0x49], 0
je 0x45e6bc
mov eax, 0x550080
jmp 0x45e6d1
mov ecx, dword [esp + 0x5c]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov edi, dword [esp + 0xc]
mov dword [esp + 0x1c], 0
mov eax, dword [edi + 8]
mov dword [esp + 0x10], eax
test eax, eax
je 0x45f234
mov edx, dword [esp + 0x30]
xor ecx, ecx
cmp dword [edx + ecx*4], 0
je 0x45f220
cmp byte [esp + 0x4a], 0
jne 0x45e71c
mov eax, dword [ebp + 0x14]
mov edx, edi
inc eax
mov ecx, esi
push eax
call fcn.0045b780
add esp, 4
mov byte [esp + 0x4a], 1
mov edi, dword [esi + 0xc]
mov ecx, dword [edi + 0x44]
mov dword [esp + 0x28], ecx
lea eax, [ecx + 1]
mov dword [edi + 0x44], eax
lea eax, [ecx - 1]
test ecx, eax
jne 0x45e751
mov edx, dword [edi + 0x48]
lea eax, [ecx*8 + 4]
mov ecx, dword [edi]
push 0
push eax
call fcn.004055e0
mov ecx, dword [esp + 0x30]
add esp, 8
mov dword [edi + 0x48], eax
mov eax, dword [edi + 0x48]
test eax, eax
je 0x45e75f
mov dword [eax + ecx*4], 0xffffffff
mov edi, dword [esp + 0x10]
not ecx
mov dword [esp + 0x28], ecx
cmp dword [edi + 0x24], 0
je 0x45e83f
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + eax*4]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x45e7a2
push 0
push edx
push 0
mov edx, 0x46
mov ecx, esi
call fcn.00426240
add esp, 0xc
jmp 0x45e7d8
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x18]
mov eax, dword [ebp + 0x14]
not eax
mov dword [ecx + 0x38], eax
mov edx, dword [edi + 0x24]
mov eax, dword [ecx]
mov dword [esp + 0x2c], eax
test edx, edx
je 0x45e80b
push 0
push 0
mov ecx, eax
call fcn.0043cd70
mov ecx, dword [esp + 0x20]
mov edi, eax
mov eax, dword [esp + 0x34]
add esp, 8
jmp 0x45e80d
xor edi, edi
cmp byte [eax + 0x49], 0
jne 0x45e827
push 0x10
push dword [esp + 0x2c]
push edi
push ecx
call fcn.00444130
mov eax, dword [esp + 0x3c]
add esp, 0x10
test edi, edi
je 0x45e834
mov edx, edi
mov ecx, eax
call fcn.0043cb90
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], 0
mov eax, dword [esp + 0x1c]
xor edi, edi
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], edi
mov edx, dword [ecx + eax*4]
lea eax, [edx + 1]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x34]
mov ecx, eax
cmp di, ax
jae 0x45e9b4
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ecx
jmp 0x45e884
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
movsx edx, word [eax + edi*2]
cmp edx, 0xfffffffe
jne 0x45e907
mov edi, dword [esp + 0x18]
mov eax, dword [ebp + 0x14]
not eax
mov dword [edi + 0x38], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov edx, dword [eax + ecx + 4]
mov eax, dword [edi]
mov dword [esp + 0x2c], eax
test edx, edx
je 0x45e8cb
push 0
push 0
mov ecx, eax
call fcn.0043cd70
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x2c]
jmp 0x45e8cd
xor edi, edi
cmp byte [eax + 0x49], 0
jne 0x45e8ea
mov ecx, dword [esp + 0x14]
mov edx, edi
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00443650
mov eax, dword [esp + 0x30]
add esp, 4
test edi, edi
je 0x45e8f7
mov edx, edi
mov ecx, eax
call fcn.0043cb90
mov eax, dword [esp + 0x18]
mov dword [eax + 0x38], 0
jmp 0x45e987
cmp edx, 0xffffffff
je 0x45e920
mov eax, dword [esp + 0xc]
movsx eax, word [eax + 0x28]
cmp edx, eax
je 0x45e920
mov edi, dword [ebp + 0x14]
inc edi
add edi, edx
jmp 0x45e923
mov edi, dword [ebp + 0x14]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
sar edx, 0x1f
and edx, 1
add edx, 0x4c
cmp dword [eax + 0x30], ecx
jg 0x45e94e
mov ecx, dword [esp + 0x14]
push 0
push ecx
push edi
mov ecx, esi
call fcn.00426240
add esp, 0xc
jmp 0x45e987
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov byte [eax + ecx*4], dl
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0xc], 0
lea eax, [eax + ecx*4]
xor ecx, ecx
mov dword [eax + 0x10], 0
mov word [eax + 2], cx
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov byte [eax + 1], 0
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x4c]
add dword [esp + 0x24], 0x18
inc edi
inc dword [esp + 0x14]
movzx ecx, word [eax + 0x34]
mov dword [esp + 0x4c], edi
cmp edi, ecx
jl 0x45e880
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov edx, dword [edx + eax*4]
mov eax, dword [esi + 0xc]
movzx edi, cx
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x45e9dc
push edx
push edi
push dword [esp + 0x28]
mov edx, 0x63
mov ecx, esi
call fcn.00426240
add esp, 0xc
jmp 0x45ea0e
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x20]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x63
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [ebp + 0x18], 0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
je 0x45ea56
cmp edx, ecx
jne 0x45ea56
cmp byte [ebp + 0x1c], 0
jne 0x45ea56
mov edi, dword [esp + 0xc]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x30]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x45f218
mov eax, dword [esp + 0x28]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [ecx], eax
jmp 0x45f218
movzx eax, byte [ecx + 0x36]
test eax, eax
je 0x45ea26
cmp byte [ebp + 0x20], 0xa
je 0x45ea6a
movzx eax, byte [ebp + 0x20]
jmp 0x45ea75
cmp eax, 0xa
mov edi, 2
cmove eax, edi
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x2c], eax
jne 0x45eb25
cmp dword [ecx + 0x14], 0
jne 0x45eb25
cmp edx, ecx
jne 0x45eb25
cmp eax, 5
jne 0x45eb25
mov eax, dword [esp + 0x50]
test dword [eax + 0x1c], 0x2000
je 0x45eaf2
mov ecx, dword [esp + 0x18]
xor edi, edi
xor edx, edx
mov eax, dword [ecx]
test dword [eax + 0x1c], 0x40000
je 0x45eaca
mov edx, dword [esp + 0xc]
call fcn.00475890
mov edx, eax
mov ecx, edx
test edx, edx
je 0x45eaee
cmp byte [ecx + 8], 0x6d
jne 0x45eadc
movzx eax, byte [ecx + 9]
or edi, eax
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x45ead0
xor eax, eax
test edi, edi
cmovne eax, edx
test eax, eax
jne 0x45eb25
mov eax, dword [esp + 0x50]
test dword [eax + 0x1c], 0x4000
mov edi, dword [esp + 0xc]
je 0x45ea2a
cmp dword [edi + 0x10], 0
jne 0x45eb25
mov ecx, dword [edi + 0x48]
mov edx, dword [edi]
add ecx, 0x38
push 0
call fcn.00409680
add esp, 4
cmp dword [eax + 8], 0
je 0x45ea2a
mov eax, dword [esp + 0x10]
mov edx, dword [esi + 0x88]
mov dword [esp + 0x3c], edx
movzx edi, word [eax + 0x32]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x58], edi
cmp dword [eax + 0x30], edx
jg 0x45eb66
push dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov edx, 0x1c
push dword [esp + 0x2c]
add eax, dword [ebp + 0x10]
mov ecx, esi
push eax
call fcn.00426240
add esp, 0xc
mov edx, eax
jmp 0x45ebab
mov edi, dword [esp + 0x58]
lea eax, [edx + 1]
mov dword [esi + 0x88], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x1c]
add esi, dword [ebp + 0x10]
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x28]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x20]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x1c
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x49], 0
jne 0x45ebc2
mov eax, dword [esi + 0x58]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
mov edx, dword [esp + 0x10]
cmp edx, dword [esp + 0x34]
jne 0x45ebd6
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], edi
jmp 0x45ec34
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x18]
cmp eax, 1
jne 0x45ec03
mov al, byte [edx + 0x13]
test al, al
jne 0x45ebf2
inc dword [edx + 0x2c]
mov edi, dword [edx + 0x2c]
jmp 0x45ec2c
dec al
mov byte [edx + 0x13], al
movzx eax, al
mov edi, dword [edx + eax*4 + 0x15c]
jmp 0x45ec2c
mov ecx, dword [edx + 0x1c]
mov edi, dword [edx + 0x20]
mov dword [esp + 0x14], edi
cmp eax, ecx
jg 0x45ec1f
add eax, edi
sub ecx, dword [esp + 0x54]
mov dword [edx + 0x20], eax
mov dword [edx + 0x1c], ecx
jmp 0x45ec30
mov eax, dword [edx + 0x2c]
lea edi, [eax + 1]
add eax, dword [esp + 0x54]
mov dword [edx + 0x2c], eax
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x10]
cmp dword [ebp + 0x18], 0
jne 0x45ec45
cmp dword [esp + 0x2c], 5
jne 0x45f016
mov eax, dword [esp + 0xc]
test byte [eax + 0x24], 0x20
jne 0x45ed3e
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x45ec7d
mov eax, dword [esp + 0x1c]
mov edx, 0x82
add eax, dword [ebp + 0x10]
mov ecx, esi
push 0
push edi
push eax
call fcn.00426240
add esp, 0xc
jmp 0x45ecba
mov edx, dword [esp + 0x1c]
lea eax, [ecx + 1]
add edx, dword [ebp + 0x10]
lea ecx, [ecx + ecx*4]
mov edi, dword [esp + 0x14]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4], 0x82
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x45f016
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x45ecea
push edx
push dword [esp + 0x2c]
mov edx, 0x35
mov ecx, esi
push edi
call fcn.00426240
add esp, 0xc
jmp 0x45ed1b
mov edx, dword [esp + 0x28]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp + 0x18]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x88]
test eax, eax
jle 0x45f016
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x58]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x45f016
mov edi, dword [esp + 0x34]
cmp edx, edi
je 0x45ee32
mov eax, dword [esp + 0x34]
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x44], edi
cmp cx, word [eax + 0x32]
jae 0x45ee2e
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], eax
movzx edx, word [edx + 0x34]
xor ecx, ecx
test edx, edx
je 0x45ed91
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
movzx edi, word [eax + edi*2]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
cmp di, word [eax]
je 0x45edc8
inc ecx
add eax, 2
cmp ecx, edx
jl 0x45ed84
or eax, 0xffffffff
mov ecx, dword [esi + 0x88]
movsx edx, ax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x3c], edx
cmp dword [eax + 0x30], ecx
jg 0x45edcd
mov edi, dword [esp + 0x24]
mov ecx, esi
mov eax, dword [esp + 0x1c]
add eax, dword [ebp + 0x10]
push edi
push edx
push eax
mov edx, 0x60
call fcn.00426240
add esp, 0xc
jmp 0x45ee0a
movzx eax, cx
jmp 0x45ed94
mov edi, dword [esp + 0x1c]
lea eax, [ecx + 1]
add edi, dword [ebp + 0x10]
lea ecx, [ecx + ecx*4]
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x24]
mov dword [eax + ecx*4], 0x60
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x34]
inc edi
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x24], edi
mov edi, ecx
movzx eax, word [eax + 0x32]
mov dword [esp + 0x44], ecx
cmp ecx, eax
jl 0x45ed68
mov edi, dword [esp + 0x34]
cmp dword [ebp + 0x18], 0
je 0x45f016
movzx ecx, word [edi + 0x32]
mov eax, dword [esi + 0x88]
add eax, ecx
mov dword [esp + 0x44], 0x34
mov dword [esp + 0x4c], eax
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x14]
and al, 3
cmp al, 2
cmove edx, dword [esp + 0x20]
mov dword [esp + 0x58], edx
xor edx, edx
mov dword [esp + 0x24], edx
test ecx, ecx
je 0x45f016
mov eax, dword [edi + 0x20]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x68], edx
mov ecx, dword [eax]
mov al, byte [ecx + 0x46]
mov byte [esp + 0x4b], al
mov al, byte [ecx + 0x9d]
mov byte [esp + 0x3b], al
movzx eax, al
push eax
push edx
mov dl, byte [esp + 0x53]
call fcn.00452b20
add esp, 8
mov edi, eax
cmp byte [esp + 0x3b], 0
mov dword [esp + 0x3c], edi
jne 0x45eeda
test edi, edi
je 0x45eebf
cmp dword [edi + 0xc], 0
jne 0x45eeda
push dword [esp + 0x68]
mov dl, byte [esp + 0x4f]
mov ecx, dword [esp + 0x1c]
push edi
call fcn.004528a0
add esp, 8
mov dword [esp + 0x3c], eax
mov edi, eax
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 4]
movsx ecx, word [eax + edx*2]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], ecx
movzx eax, word [eax + 0x32]
dec eax
cmp edx, eax
jne 0x45ef0a
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], 0x35
mov edx, dword [esi + 0x88]
mov eax, dword [ebp + 0x18]
mov esi, dword [esp + 0x40]
inc eax
add ecx, eax
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x30], edx
jg 0x45ef42
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x24]
mov edx, dword [esp + 0x44]
push eax
push dword [esp + 0x50]
push ecx
mov ecx, esi
call fcn.00426240
add esp, 0xc
mov edx, eax
jmp 0x45ef94
mov edi, dword [esp + 0x3c]
lea eax, [edx + 1]
mov dword [esi + 0x88], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x58]
mov esi, dword [esp + 0x68]
inc esi
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x44]
mov byte [eax], cl
xor ecx, ecx
mov word [eax + 2], cx
mov ecx, dword [ebp + 0x18]
add ecx, esi
mov esi, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
add ecx, dword [esp + 0x24]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
je 0x45efac
push edi
mov edx, 0xfffffffe
call fcn.00426b10
add esp, 4
jmp 0x45efe3
test edx, edx
jns 0x45efb7
mov edx, dword [esi + 0x88]
dec edx
mov eax, dword [esi + 0x58]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x45efd8
push 0xfffffffffffffffe
push edi
mov edx, eax
mov ecx, esi
call fcn.00426c90
add esp, 8
jmp 0x45efe3
test edi, edi
je 0x45efe3
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfe
mov eax, dword [esi + 0x88]
test eax, eax
jle 0x45effd
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x58]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x24], edx
movzx eax, word [edi + 0x32]
cmp edx, eax
jl 0x45ee76
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x45f0b2
cmp edi, 3
jbe 0x45f099
cmp edi, 4
jne 0x45f0b2
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x45f05b
push 0
push dword [ebp + 0x24]
lea edx, [edi + 9]
mov ecx, esi
push 0
call fcn.00426240
mov edi, dword [esp + 0x24]
add esp, 0xc
jmp 0x45f164
mov edx, dword [ebp + 0x24]
lea eax, [ecx + 1]
mov edi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x45f164
push dword [esp + 0x10]
mov edx, edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.00451bd0
add esp, 4
jmp 0x45f164
mov edi, dword [esp + 0x18]
xor edx, edx
mov ecx, edi
mov eax, dword [edi + 0x78]
test eax, eax
cmovne ecx, eax
mov eax, dword [esp + 0x50]
mov byte [ecx + 0x14], 1
test dword [eax + 0x1c], 0x2000
je 0x45f120
mov ecx, dword [esp + 0x18]
xor edi, edi
mov dword [esp + 0x3c], edx
mov eax, dword [ecx]
test dword [eax + 0x1c], 0x40000
je 0x45f0f7
mov edx, dword [esp + 0xc]
call fcn.00475890
mov edx, eax
mov dword [esp + 0x3c], eax
mov ecx, edx
test edx, edx
je 0x45f113
nop dword [eax]
cmp byte [ecx + 8], 0x6d
jne 0x45f10c
movzx eax, byte [ecx + 9]
or edi, eax
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x45f100
xor edx, edx
test edi, edi
mov edi, dword [esp + 0x18]
cmovne edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
mov ecx, edi
add eax, dword [ebp + 0x10]
push eax
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x14], eax
sete al
movzx eax, al
push eax
push 5
push 0
push dword [esp + 0x64]
push dword [esp + 0x28]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edx
mov edx, dword [esp + 0x30]
call fcn.00454740
mov esi, dword [esp + 0x64]
add esp, 0x24
mov dword [esp + 0x60], 1
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x45f183
mov eax, dword [esp + 0x28]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x20]
je 0x45f210
mov edx, dword [esp + 0x54]
cmp edx, 1
jne 0x45f1f0
test eax, eax
je 0x45f210
mov al, byte [edi + 0x13]
mov byte [esp + 0x3b], al
cmp al, 8
jae 0x45f210
movzx edx, byte [edi + 0x19]
lea eax, [edi + 0x94]
xor ecx, ecx
test edx, edx
je 0x45f1d5
nop dword [eax]
mov esi, dword [esp + 0x14]
cmp dword [eax + 0xc], esi
mov esi, dword [esp + 0x40]
je 0x45f1ea
inc ecx
add eax, 0x14
cmp ecx, edx
jl 0x45f1c0
movzx eax, byte [esp + 0x3b]
mov ecx, dword [esp + 0x14]
mov dword [edi + eax*4 + 0x15c], ecx
inc byte [edi + 0x13]
jmp 0x45f210
mov byte [eax + 6], 1
jmp 0x45f210
push edx
mov edx, eax
mov ecx, edi
call fcn.00440fd0
mov edx, dword [esp + 0x58]
add esp, 4
cmp edx, dword [edi + 0x1c]
jle 0x45f210
mov eax, dword [esp + 0x14]
mov dword [edi + 0x1c], edx
mov dword [edi + 0x20], eax
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 0x14]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
test eax, eax
jne 0x45e6f5
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x45f2c5
mov ecx, dword [esi + 0x88]
lea edi, [eax + 1]
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x30], ecx
jg 0x45f267
push 0
push edi
push 0
mov edx, 0xd
mov ecx, esi
call fcn.00426240
add esp, 0xc
jmp 0x45f299
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0xd
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x64]
mov edx, dword [esi + 0x88]
test ecx, ecx
jns 0x45f2aa
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x49], 0
je 0x45f2b9
mov eax, 0x550080
jmp 0x45f2c2
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
pop edi
pop esi
mov dword [ecx], eax
mov ecx, dword [esp + 0x94]
xor ecx, esp
call fcn.004e5962
mov esp, ebp
pop ebp
ret