Function at 0x45bae0
Capabilities:
Get thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
push ebx
push esi
push edi
mov eax, dword [0x7d8230]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov eax, dword [ebx + 0x12e0]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x8d8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 8], 0
mov eax, dword [ebp + 0xc]
mov edx, eax
test edx, edx
je 0x45bb4a
movsx eax, word [eax + 4]
and eax, 0x400
je 0x45bb53
mov dword [ebp - 0x34], 1
jmp 0x45bb5a
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x45bb7d
call fcn.004736d0
mov dword [ebp - 0x30], eax
cmp dword [0x7be260], 0
je 0x45ff05
call fcn.00533d70
mov dword [ebp - 0x10], eax
jmp 0x45ff05
cmp dword [0x7be260], 0
je 0x45bbd7
call fcn.00533d70
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xc]
lea eax, [eax*4 + 0x7d84f8]
mov edx, dword [ebp - 0x38]
sub edx, dword [ebp - 0x10]
add dword [eax], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
mov dword [ebp - 0xc], eax
lea eax, [eax*4 + 0x7d8234]
add dword [eax], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x38], eax
test eax, eax
jl case.0x45bbf7.131
cmp eax, 0xb0
jg case.0x45bbf7.131
jmp dword [eax*4 + 0x6963ec]
call fcn.00460570
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov edx, dword [eax - 8]
push edx
mov eax, dword [eax - 4]
push eax
push edx
call fcn.00460840
add esp, 0xc
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45bc3e
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45bc4a
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45bc6f
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00460e50
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00461740
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00461910
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00461c00
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00462170
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00465a30
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00466050
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00466670
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00466e80
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00466c90
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00462330
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.004625c0
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00462850
add dword [ebp - 4], 1
jmp 0x45fba1
push 0
call fcn.004628b0
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
push 1
call fcn.004628b0
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00463320
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00463b10
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00463f30
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00464350
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00464770
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00464b90
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 8]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 4]
mov edx, dword [eax - 8]
push edx
mov eax, dword [eax - 4]
push eax
push 1
call fcn.004bb2d0
add esp, 0xc
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45bde3
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45bdef
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45be14
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebp - 0x3c]
mov dword [eax], pe_nt_image_headers32
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 8]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 4]
mov edx, dword [eax - 8]
push edx
mov eax, dword [eax - 4]
push eax
push 2
call fcn.004bb2d0
add esp, 0xc
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45be78
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45be84
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45bea9
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebp - 0x3c]
mov dword [eax], pe_nt_image_headers32
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00465220
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00465600
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.004656f0
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00465890
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.00467070
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.004678a0
add dword [ebp - 4], 1
jmp 0x45fba1
push 0x43
call fcn.00467bd0
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
push 0x48
call fcn.00467bd0
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
push eax
call fcn.00468560
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
mov edx, dword [ebx + 0x15ec]
add eax, edx
push eax
call fcn.00468650
pop ecx
mov dword [ebx + 0x15ec], 0
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
mov edx, dword [ebx + 0x15ec]
add eax, edx
push eax
call fcn.004687a0
pop ecx
mov dword [ebx + 0x15ec], 0
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046b2e0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
call fcn.00468dc0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
push eax
call fcn.00468e20
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movzx eax, ax
push eax
call fcn.00468e20
pop ecx
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov ax, word [edx + eax + 1]
mov word [ebp - 0x3a], ax
mov eax, dword [ebx + 0x10]
and eax, 0xf405
je 0x45c048
lea eax, [ebx + 0x10]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45c04f
mov dword [ebx + 0x10], 0
movzx eax, word [ebp - 0x3a]
push eax
call fcn.00468e20
pop ecx
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x44], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x40], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x44]
cmp ecx, eax
jg 0x45c082
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a44a0
add esp, 8
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
mov word [ebp - 0x3a], ax
mov eax, dword [ebx + 0x10]
and eax, 0xf405
je 0x45c0d5
lea eax, [ebx + 0x10]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45c0dc
mov dword [ebx + 0x10], 0
movzx eax, word [ebp - 0x3a]
push eax
call fcn.00468e20
pop ecx
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x44], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x40], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x44]
cmp ecx, eax
jg 0x45c10f
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a44a0
add esp, 8
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
lea eax, [ebx + 0x8d8]
mov edx, dword [eax]
lea ecx, [edx + 1]
mov dword [eax], ecx
mov eax, edx
shl eax, 5
lea eax, [ebx + eax + 0xd8]
push eax
call fcn.004a44a0
add esp, 8
mov eax, dword [ebx + 0x8d8]
cmp eax, 0x40
jne 0x45c1b3
push 0
push 0
push str.WITH_OBJECT_excessive_nesting_
push 0x2328
call fcn.00492ef0
add esp, 0x10
jmp 0x45c1a9
lea eax, [ebx + 0x8d8]
sub dword [eax], 1
mov eax, dword [ebx + 0x8d8]
shl eax, 5
lea eax, [ebx + eax + 0xd8]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebx + 0x8d8]
test eax, eax
jne 0x45c189
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45c1d1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45c1dd
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45c202
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 0x8d8]
test eax, eax
je 0x45c233
lea eax, [ebx + 0x8d8]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
mov eax, edx
shl eax, 5
lea eax, [ebx + eax + 0xd8]
push eax
call fcn.004a45e0
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 0x12e0]
shl eax, 5
lea eax, [ebx + eax + 0x8e0]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004a44a0
add esp, 8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45c280
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45c28c
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45c2b1
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004874e0
pop ecx
and eax, 0x4000000
je 0x45c2fc
lea edi, [ebp - 0x5c]
lea esi, [0x69632c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x5c]
push eax
call fcn.004a0410
add esp, 8
mov eax, dword [ebp - 0x3c]
push eax
push 0
push 0
push str.__OPFOREACH
lea edx, [ebp - 0x5c]
push edx
push eax
call fcn.004689e0
add esp, 0x18
jmp 0x45c355
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov edx, eax
and edx, 0x8000
jne 0x45c312
and eax, 0x400
je 0x45c314
jmp 0x45c355
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
and eax, 4
jne 0x45c355
push 0x2e
call fcn.004ab070
pop ecx
mov dword [ebp - 0x40], eax
push 1
mov edx, dword [ebx + 4]
mov edx, dword [edx]
push edx
call fcn.004a0410
add esp, 8
push eax
mov eax, dword [ebp - 0x3c]
push eax
push 2
mov eax, dword [ebp - 0x40]
push eax
push 0
push 0x642
push 1
call fcn.00492870
add esp, 0x1c
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a0990
pop ecx
mov edx, dword [ebx + 0x12e0]
mov dword [ebx + edx*4 + 0x10e0], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45c38d
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45c399
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45c3be
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
lea eax, [ebx + 0x12e0]
add dword [eax], 1
mov eax, dword [ebx + 0x12e0]
cmp eax, 0x40
jne 0x45c418
push 0
push 0
push str.FOR_EACH_excessive_nesting_
push 0x2328
call fcn.00492ef0
add esp, 0x10
jmp 0x45c40e
lea eax, [ebx + 0x12e0]
sub dword [eax], 1
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebx + 0x12e0]
mov dword [ebx + eax*4 + 0x11e0], 0
mov eax, dword [ebx + 0x12e0]
test eax, eax
jne 0x45c3ea
add dword [ebp - 4], 1
jmp 0x45fba1
mov dword [ebp - 0x3c], 0
mov eax, dword [ebx + 0x12e0]
test eax, eax
je 0x45c66a
mov eax, dword [ebx + 0x12e0]
dec eax
shl eax, 5
lea eax, [ebx + eax + 0x8e0]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x12e0]
dec eax
mov eax, dword [ebx + eax*4 + 0x10e0]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x12e0]
dec eax
lea eax, [ebx + eax*4 + 0x11e0]
mov edx, dword [eax]
inc edx
mov dword [eax], edx
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.004874e0
pop ecx
and eax, 0x4000000
je 0x45c512
lea edi, [ebp - 0x68]
lea esi, [0x69634c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp - 0x88]
lea esi, [0x69636c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
push 2
lea eax, [ebp - 0x68]
push eax
call fcn.004a0410
add esp, 8
mov eax, dword [ebp - 0x44]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.004a0470
add esp, 8
mov eax, dword [ebp - 0x48]
push eax
push 0
lea eax, [ebp - 0x88]
push eax
push str.__OPFOREACH
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x40]
push eax
call fcn.004689e0
add esp, 0x18
mov dword [ebp - 0x3c], 1
movzx eax, word [ebx + 0x44]
cmp eax, 2
jne 0x45c66a
mov word [ebx + 0x44], 0
mov dword [ebp - 0x3c], 0
jmp 0x45c66a
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov edx, eax
and edx, 0x8000
jne 0x45c528
and eax, 0x400
je 0x45c544
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x40]
push eax
call fcn.004a2e10
add esp, 0xc
mov dword [ebp - 0x3c], eax
jmp 0x45c66a
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
and eax, 4
je 0x45c66a
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x45c568
mov dword [ebp - 0x4c], 0
jmp 0x45c56f
mov dword [ebp - 0x4c], 1
cmp dword [ebp - 0x4c], 0
je 0x45c5d1
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x45c59c
mov edx, dword [ebp - 0x40]
mov edx, dword [edx + 8]
cmp eax, dword [edx + 0x20]
ja 0x45c59c
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov edx, dword [edx + 8]
mov edx, dword [edx + 0x28]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x50], eax
jmp 0x45c5a3
mov dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x45c66a
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x40]
push eax
call fcn.00494430
add esp, 0xc
mov dword [ebp - 0x3c], 1
jmp 0x45c66a
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x40]
push eax
call fcn.004951d0
add esp, 8
mov dword [ebp - 0x50], eax
test eax, eax
je 0x45c66a
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x40]
push eax
call fcn.00495250
add esp, 8
mov dword [ebp - 0x54], eax
push 0x696f2c
call fcn.0048c290
pop ecx
mov edx, dword [ebp - 0x48]
push edx
movzx eax, ax
push eax
call fcn.00489980
add esp, 8
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x48]
mov edx, dword [eax + 8]
mov edx, dword [edx + 4]
lea edx, [edx - 2]
push edx
push eax
call fcn.004a2c30
add esp, 0xc
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x48]
mov edx, dword [eax + 8]
mov edx, dword [edx + 4]
dec edx
push edx
push eax
call fcn.004a2c30
add esp, 0xc
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x48]
mov edx, dword [eax + 8]
mov edx, dword [edx + 4]
push edx
push eax
call fcn.004a2c30
add esp, 0xc
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0046aa20
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 0x12e0]
test eax, eax
je 0x45c702
lea eax, [ebx + 0x12e0]
sub dword [eax], 1
mov eax, dword [ebx + 0x12e0]
shl eax, 5
lea eax, [ebx + eax + 0x8e0]
push eax
call fcn.004874e0
pop ecx
and eax, 0x4000000
je 0x45c702
lea edi, [ebp - 0x58]
lea esi, [0x69638c]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
push 3
lea eax, [ebp - 0x58]
push eax
call fcn.004a0410
add esp, 8
push 0
push 0
push 0
push str.__OPFOREACH
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebx + 0x12e0]
shl eax, 5
lea eax, [ebx + eax + 0x8e0]
push eax
call fcn.004689e0
add esp, 0x18
lea eax, [ebx + 0x10]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebx + 0x12e0]
shl eax, 5
lea eax, [ebx + eax + 0x8e0]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebx + 0x12e0]
mov dword [ebx + eax*4 + 0x11e0], 0
mov eax, dword [ebx + 0x12e0]
mov eax, dword [ebx + eax*4 + 0x10e0]
push eax
call fcn.004a45e0
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax], 8
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax + 0x10], 0xa
mov eax, dword [ebx + 4]
mov eax, dword [eax]
push dword [0x696ed8]
mov esi, dword [0x696ed4]
pop edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], edi
mov eax, dword [ebx + 0x12e0]
test eax, eax
je 0x45c79b
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov edx, dword [ebx + 0x12e0]
dec edx
mov esi, dword [ebx + edx*4 + 0x11e0]
xor edi, edi
mov dword [eax + 8], esi
mov dword [eax + 0xc], edi
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x40], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x3c], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x40]
cmp ecx, eax
jg 0x45c7c3
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
push eax
call fcn.00469190
pop ecx
add dword [ebp - 4], 3
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
cmp eax, 0x49
jne 0x45c80c
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x40], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x3c], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x40]
cmp ecx, eax
jg 0x45c834
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a44a0
add esp, 8
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
mov word [ebp - 0x3a], ax
cmp dword [ebx + 0x13e4], 0
jne 0x45cf7f
movzx eax, word [ebp - 0x3a]
test eax, eax
jne 0x45cba7
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 0x44], eax
mov edx, dword [eax]
and edx, 0x8000
je 0x45cf7f
mov eax, dword [eax + 8]
movzx edx, word [eax + 0xc]
test edx, edx
je 0x45cf7f
movzx eax, word [eax + 0xe]
test eax, eax
jne 0x45cf7f
lea eax, [ebp - 0x4c]
push eax
push 1
lea eax, [ebp - 0x48]
push eax
push 0
mov eax, dword [ebx + 4]
mov eax, dword [eax - 8]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 0x44]
push eax
call fcn.00487720
add esp, 0x18
mov dword [ebp - 0x40], eax
lea edx, [0x48b770]
cmp eax, edx
jne 0x45c9d3
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 8]
mov edx, dword [ebp - 0x44]
mov edx, dword [edx + 8]
movzx edx, word [edx + 4]
cmp eax, edx
jle 0x45c914
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 8]
push eax
mov eax, dword [ebp - 0x44]
push eax
call fcn.004a2950
add esp, 8
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 8]
push eax
mov eax, dword [ebp - 0x44]
push eax
call fcn.004a2d10
add esp, 0xc
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45c94a
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45c956
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45c97b
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45c999
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45c9a5
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cf93
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
jmp 0x45cf93
mov eax, dword [ebp - 0x40]
lea edx, [0x48b5c0]
cmp eax, edx
jne 0x45cab9
call fcn.0048b930
lea edx, [ebx + 0x10]
push edx
mov edx, dword [ebx + 0x60]
movzx edx, word [edx + 8]
push edx
mov edx, dword [ebp - 0x44]
mov edx, dword [edx + 8]
movzx edx, word [edx + 0xc]
shl edx, 6
lea eax, [eax + edx - 0x40]
mov eax, dword [eax + 0x14]
push eax
call fcn.004a2d10
add esp, 0xc
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45ca30
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45ca3c
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45ca61
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45ca7f
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45ca8b
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cf93
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
jmp 0x45cf93
mov eax, dword [ebp - 0x40]
lea edx, [0x48b6a0]
cmp eax, edx
jne 0x45cf7f
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 0xc]
test eax, eax
je 0x45cb00
call fcn.0048b930
lea edx, [ebx + 0x10]
push edx
mov edx, dword [ebx + 0x60]
movzx edx, word [edx + 0xa]
push edx
mov edx, dword [ebx + 0x60]
movzx edx, word [edx + 0xc]
shl edx, 6
lea eax, [eax + edx - 0x40]
mov eax, dword [eax + 0x14]
push eax
call fcn.004a2d10
add esp, 0xc
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45cb1e
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45cb2a
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cb4f
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45cb6d
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45cb79
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cf93
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
jmp 0x45cf93
movzx eax, word [ebp - 0x3a]
cmp eax, 1
jne 0x45cf7f
mov eax, dword [ebx + 4]
mov eax, dword [eax - 8]
mov dword [ebp - 0x44], eax
mov edx, dword [eax]
and edx, 0x8000
je 0x45cf7f
mov eax, dword [eax + 8]
movzx edx, word [eax + 0xc]
test edx, edx
je 0x45cf7f
movzx eax, word [eax + 0xe]
test eax, eax
jne 0x45cf7f
lea eax, [ebp - 0x4c]
push eax
push 1
lea eax, [ebp - 0x48]
push eax
push 0
mov eax, dword [ebx + 4]
mov eax, dword [eax - 0xc]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 0x44]
push eax
call fcn.00487720
add esp, 0x18
mov dword [ebp - 0x40], eax
lea edx, [0x48b7d0]
cmp eax, edx
jne 0x45cd3c
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 8]
mov edx, dword [ebp - 0x44]
mov edx, dword [edx + 8]
movzx edx, word [edx + 4]
cmp eax, edx
jle 0x45cc42
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 8]
push eax
mov eax, dword [ebp - 0x44]
push eax
call fcn.004a2950
add esp, 8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 8]
push eax
mov eax, dword [ebp - 0x44]
push eax
call fcn.004a2c30
add esp, 0xc
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
lea eax, [ebx + 0x10]
push eax
call fcn.004a44a0
add esp, 8
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cc95
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45ccb3
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45ccbf
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cce4
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45cd02
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45cd0e
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cf93
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
jmp 0x45cf93
mov eax, dword [ebp - 0x40]
lea edx, [0x48b620]
cmp eax, edx
jne 0x45ce5d
call fcn.0048b930
mov edx, dword [ebx + 4]
mov edx, dword [edx - 4]
push edx
mov edx, dword [ebx + 0x60]
movzx edx, word [edx + 8]
push edx
mov edx, dword [ebp - 0x44]
mov edx, dword [edx + 8]
movzx edx, word [edx + 0xc]
shl edx, 6
lea eax, [eax + edx - 0x40]
mov eax, dword [eax + 0x14]
push eax
call fcn.004a2c30
add esp, 0xc
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
lea eax, [ebx + 0x10]
push eax
call fcn.004a44a0
add esp, 8
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cdb6
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45cdd4
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45cde0
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45ce05
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45ce23
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45ce2f
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cf93
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
jmp 0x45cf93
mov eax, dword [ebp - 0x40]
lea edx, [0x48b700]
cmp eax, edx
jne 0x45cf7f
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 0xc]
test eax, eax
je 0x45cea7
call fcn.0048b930
mov edx, dword [ebx + 4]
mov edx, dword [edx - 4]
push edx
mov edx, dword [ebx + 0x60]
movzx edx, word [edx + 0xa]
push edx
mov edx, dword [ebx + 0x60]
movzx edx, word [edx + 0xc]
shl edx, 6
lea eax, [eax + edx - 0x40]
mov eax, dword [eax + 0x14]
push eax
call fcn.004a2c30
add esp, 0xc
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
lea eax, [ebx + 0x10]
push eax
call fcn.004a44a0
add esp, 8
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cedf
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45cefd
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45cf09
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cf2e
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45cf4c
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45cf58
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45cf93
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
jmp 0x45cf93
movzx eax, word [ebx + 0x44]
cmp eax, 2
je 0x45cf93
movzx eax, word [ebp - 0x3a]
push eax
call fcn.00469190
pop ecx
add dword [ebp - 4], 2
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
cmp eax, 0x49
jne 0x45cfaf
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x48], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x44], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x48]
cmp ecx, eax
jg 0x45cfd7
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a44a0
add esp, 8
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [eax]
and eax, 2
je 0x45d021
mov eax, dword [ebp - 0x3c]
movzx eax, word [eax + 0xc]
push eax
call fcn.0048c400
pop ecx
jmp 0x45d03d
mov eax, dword [ebp - 0x3c]
push eax
push 1
push str.__ClsSetModule__
push 0
push 0x643
push 1
call fcn.00492870
add esp, 0x18
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45d05b
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45d067
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45d08c
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 8]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
and edx, 0x8000
je 0x45d0c3
mov eax, dword [eax + 8]
movzx eax, word [eax + 0xc]
test eax, eax
jne 0x45d1b5
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
and eax, 0x8000
je 0x45d0de
movzx eax, word [0x7beb24]
test eax, eax
jne 0x45d1b5
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
and eax, 0x1000
je 0x45d0f9
movzx eax, word [0x7beb26]
test eax, eax
jne 0x45d1b5
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
and eax, 0x400
je 0x45d114
movzx eax, word [0x7beb28]
test eax, eax
jne 0x45d1b5
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
and eax, 0x20
je 0x45d12d
movzx eax, word [0x7beb2a]
test eax, eax
jne 0x45d1b5
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
and eax, 0x80
je 0x45d148
movzx eax, word [0x7beb2c]
test eax, eax
jne 0x45d1b5
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
test eax, eax
jne 0x45d15c
movzx eax, word [0x7beb2e]
test eax, eax
jne 0x45d1b5
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
mov ecx, edx
and ecx, 0x3a
jne 0x45d178
and edx, 0x400
je 0x45d183
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x45d183
movzx eax, word [0x7beb30]
test eax, eax
jne 0x45d1b5
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
and eax, 1
je 0x45d198
movzx eax, word [0x7beb32]
test eax, eax
jne 0x45d1b5
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
and eax, 4
je 0x45d37b
movzx eax, word [0x7beb34]
test eax, eax
je 0x45d37b
mov dword [ebp - 0x44], 0
lea eax, [ebp - 0x4c]
push eax
push 2
lea eax, [ebp - 0x48]
push eax
push 0
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x14]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00487720
add esp, 0x18
mov dword [ebp - 0x44], eax
lea edx, [0x48b770]
cmp eax, edx
jne 0x45d22e
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 8]
mov edx, dword [ebp - 0x3c]
mov edx, dword [edx + 8]
movzx edx, word [edx + 4]
cmp eax, edx
jle 0x45d211
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 8]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004a2950
add esp, 8
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 8]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.004a2e10
add esp, 0xc
jmp 0x45d445
mov eax, dword [ebp - 0x44]
lea edx, [0x48b5c0]
cmp eax, edx
jne 0x45d26e
call fcn.0048b930
mov edx, dword [ebp - 0x40]
push edx
mov edx, dword [ebx + 0x60]
movzx edx, word [edx + 8]
push edx
mov edx, dword [ebp - 0x3c]
mov edx, dword [edx + 8]
movzx edx, word [edx + 0xc]
shl edx, 6
lea eax, [eax + edx - 0x40]
mov eax, dword [eax + 0x14]
push eax
call fcn.004a2e10
add esp, 0xc
jmp 0x45d445
mov eax, dword [ebp - 0x44]
lea edx, [0x48b6a0]
cmp eax, edx
jne 0x45d2ba
mov eax, dword [ebx + 0x60]
movzx eax, word [eax + 0xc]
test eax, eax
je 0x45d445
call fcn.0048b930
mov edx, dword [ebp - 0x40]
push edx
mov edx, dword [ebx + 0x60]
movzx edx, word [edx + 0xa]
push edx
mov edx, dword [ebx + 0x60]
movzx edx, word [edx + 0xc]
shl edx, 6
lea eax, [eax + edx - 0x40]
mov eax, dword [eax + 0x14]
push eax
call fcn.004a2e10
add esp, 0xc
jmp 0x45d445
movzx eax, word [ebx + 0x44]
cmp eax, 2
je 0x45d2de
push 0
call fcn.00469190
pop ecx
lea eax, [ebx + 0x10]
push eax
call fcn.004a4430
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
and eax, 4
je 0x45d445
mov dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
lea edi, [ebp - 0x74]
lea esi, [0x6963ac]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x50]
mov edx, eax
or eax, 0xffffffff
inc eax
cmp byte [edx + eax], 0
jne 0x45d316
push eax
mov eax, dword [ebp - 0x50]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.004a4df0
add esp, 0xc
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00493f40
add esp, 0xc
test eax, eax
je 0x45d35f
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00494430
add esp, 0xc
jmp 0x45d445
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x50]
push eax
push 0x696ebb
push 0
call fcn.00469090
add esp, 0x10
jmp 0x45d445
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
and eax, 4
je 0x45d412
mov dword [ebp - 0x48], 0
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
lea edi, [ebp - 0x68]
lea esi, [0x6963cc]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
mov edx, eax
or eax, 0xffffffff
inc eax
cmp byte [edx + eax], 0
jne 0x45d3b3
push eax
mov eax, dword [ebp - 0x44]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.004a4df0
add esp, 0xc
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00493f40
add esp, 0xc
test eax, eax
je 0x45d3f9
mov eax, dword [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x3c]
push eax
call fcn.00494430
add esp, 0xc
jmp 0x45d445
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x44]
push eax
push 0x696ebb
push 0
call fcn.00469090
add esp, 0x10
jmp 0x45d445
mov eax, dword [ebp - 0x3c]
push eax
push 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
push eax
push str.Not_object
push 0x3ec
push 0x13
call fcn.00492c70
add esp, 0x18
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebp - 0x40]
push eax
call fcn.004a44a0
add esp, 8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45d463
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45d46f
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45d494
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
mov dword [0x7be2ac], eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax]
mov edx, dword [0x7be2ac]
mov word [eax + 0xc], dx
cmp dword [0x7cd4c8], 0
je 0x45d4d3
movzx eax, word [0x7be2ac]
push eax
call fcn.0046a3a0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebx + 0x30]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov dx, word [ecx + edx + 1]
mov word [eax + 0xc], dx
cmp dword [0x7cd4c8], 0
je 0x45d509
mov eax, dword [ebx + 0x30]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
push eax
call fcn.0046a3a0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebx + 0x30]
mov eax, dword [eax]
mov edx, dword [0x7be2ac]
mov ecx, dword [ebp - 4]
mov esi, dword [ebp + 8]
movzx ecx, byte [esi + ecx + 1]
add edx, ecx
mov word [eax + 0xc], dx
cmp dword [0x7cd4c8], 0
je 0x45d547
mov eax, dword [ebx + 0x30]
mov eax, dword [eax]
movzx eax, word [eax + 0xc]
push eax
call fcn.0046a3a0
pop ecx
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx ecx, byte [edx + eax + 3]
mov esi, dword [ebx + 0x30]
mov ecx, dword [esi + ecx*4 + 4]
push ecx
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.00473d80
add esp, 8
add dword [ebp - 4], 4
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx ecx, byte [edx + eax + 2]
push ecx
movzx eax, byte [edx + eax + 1]
movzx eax, ax
push eax
call fcn.0046a3e0
add esp, 8
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx ecx, byte [edx + eax + 3]
push ecx
movzx eax, word [edx + eax + 1]
push eax
call fcn.0046a3e0
add esp, 8
add dword [ebp - 4], 4
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046a4e0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx ecx, word [edx + eax + 3]
push ecx
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046a500
add esp, 8
add dword [ebp - 4], 5
jmp 0x45fba1
call fcn.0046a5b0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea ecx, [edx + eax + 3]
push ecx
movzx eax, word [edx + eax + 1]
push eax
call fcn.0046a290
add esp, 8
add dword [ebp - 4], 3
mov eax, dword [ebp - 4]
lea edx, [eax + 1]
mov dword [ebp - 4], edx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
test eax, eax
jne 0x45d644
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea ecx, [edx + eax + 4]
push ecx
movzx eax, word [edx + eax + 2]
push eax
call fcn.0046a2d0
add esp, 8
add dword [ebp - 4], 4
mov eax, dword [ebp - 4]
lea edx, [eax + 1]
mov dword [ebp - 4], edx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
test eax, eax
jne 0x45d67a
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 1]
push eax
call fcn.0046a330
pop ecx
mov eax, dword [ebp - 4]
lea edx, [eax + 1]
mov dword [ebp - 4], edx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
test eax, eax
jne 0x45d6a4
jmp 0x45fba1
cmp dword [ebp - 8], 0
je 0x45d6d1
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 8
je 0x45d6d1
inc dword [0x7be2a4]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea edx, [edx + eax + 1]
movzx ecx, byte [edx + 2]
mov esi, ecx
and esi, 0x80
je 0x45d706
mov dword [ebp - 0x3c], 0xff
jmp 0x45d70d
mov dword [ebp - 0x3c], 0
movzx esi, byte [edx]
movzx edx, byte [edx + 1]
shl edx, 8
or esi, edx
mov edx, ecx
shl edx, 0x10
mov ecx, esi
or ecx, edx
mov edx, dword [ebp - 0x3c]
shl edx, 0x18
or ecx, edx
mov edx, ecx
add eax, edx
mov dword [ebp - 0x28], eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
cmp eax, 0xa5
jne 0x45d747
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
jmp case.0x45bbf7.113
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 1]
movzx edx, byte [eax + 2]
mov ecx, edx
and ecx, 0x80
je 0x45d76b
mov dword [ebp - 0x40], 0xff
jmp 0x45d772
mov dword [ebp - 0x40], 0
movzx ecx, byte [eax]
movzx eax, byte [eax + 1]
shl eax, 8
or ecx, eax
mov eax, edx
shl eax, 0x10
mov edx, ecx
or edx, eax
mov eax, dword [ebp - 0x40]
shl eax, 0x18
or edx, eax
mov eax, edx
add dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
cmp eax, 0xa5
jne case.0x45bbf7.113
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
push 0x20
call fcn.0049b580
pop ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax], 0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x48], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x44], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x48]
cmp ecx, eax
jg 0x45d7e9
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax], 8
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea edx, [edx + eax + 1]
movzx ecx, byte [edx + 2]
mov esi, ecx
and esi, 0x80
je 0x45d827
mov dword [ebp - 0x44], 0xff
jmp 0x45d82e
mov dword [ebp - 0x44], 0
mov esi, dword [ebp - 0x40]
movzx edi, byte [edx]
movzx edx, byte [edx + 1]
shl edx, 8
or edi, edx
mov edx, ecx
shl edx, 0x10
mov ecx, edi
or ecx, edx
mov edx, dword [ebp - 0x44]
shl edx, 0x18
or ecx, edx
mov edx, ecx
add eax, edx
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov edx, dword [ebp - 0x4c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 4]
dec eax
mov edx, dword [ebx]
mov eax, dword [edx + eax*4]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebp - 0x40]
mov word [eax], 0
cmp dword [ebp - 0x1c], 0
je 0x45d8a3
mov eax, dword [ebp - 0x40]
movzx edx, word [eax]
or edx, 1
mov word [eax], dx
cmp dword [ebp - 8], 0
je 0x45d8b5
mov eax, dword [ebp - 0x40]
movzx edx, word [eax]
or edx, 2
mov word [eax], dx
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x40]
mov edx, dword [ebx + 0x12e0]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebx + 0x8d8]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x40]
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0x40]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x40]
mov edx, dword [ebx + 0x15f4]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x40]
mov dword [ebx + 0x15f4], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
cmp eax, 0xa2
jne 0x45d955
mov eax, dword [0x7be2a8]
push eax
call fcn.004910d0
pop ecx
mov edx, dword [ebx + 0x15f4]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x45d95c
mov eax, dword [ebx + 0x15f4]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x45d95c
mov eax, dword [ebx + 0x15f4]
movzx edx, word [eax]
or edx, 0x8004
mov word [eax], dx
jmp 0x45d95c
mov dword [ebp - 8], 0
add dword [ebp - 4], 4
jmp 0x45fba1
dec dword [0x7be2a4]
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0x18]
push eax
call fcn.004910d0
pop ecx
push eax
call fcn.0049f7d0
pop ecx
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0x18]
push eax
call fcn.0049f7d0
pop ecx
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x45da32
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45d9c1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45d9cd
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45d9f2
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 0x15f4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 2
mov dword [ebp - 8], eax
lea eax, [ebx + 0x15f4]
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.0049b640
pop ecx
jmp 0x45da41
mov eax, dword [ebx + 0x15f4]
movzx edx, word [eax]
or edx, 4
mov word [eax], dx
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea edx, [edx + eax + 1]
movzx ecx, byte [edx + 2]
mov esi, ecx
and esi, 0x80
je 0x45da62
mov dword [ebp - 0x40], 0xff
jmp 0x45da69
mov dword [ebp - 0x40], 0
movzx esi, byte [edx]
movzx edx, byte [edx + 1]
shl edx, 8
or esi, edx
mov edx, ecx
shl edx, 0x10
mov ecx, esi
or ecx, edx
mov edx, dword [ebp - 0x40]
shl edx, 0x18
or ecx, edx
mov edx, ecx
add eax, edx
mov dword [ebp - 4], eax
jmp 0x45fba1
dec dword [0x7be2a4]
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0x18]
push eax
call fcn.004910d0
pop ecx
push eax
call fcn.0049f7d0
pop ecx
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0x18]
push eax
call fcn.0049f7d0
pop ecx
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x48], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x44], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x48]
cmp ecx, eax
jg 0x45dae7
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
mov eax, dword [ebx + 4]
mov edx, dword [eax - 8]
push edx
mov eax, dword [eax - 4]
push eax
call fcn.004a44a0
add esp, 8
add dword [ebp - 4], 3
mov eax, dword [ebx + 0x15f4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x45db5d
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 2
mov dword [ebp - 8], eax
lea eax, [ebx + 0x15f4]
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.0049b640
pop ecx
jmp 0x45db6c
mov eax, dword [ebx + 0x15f4]
movzx edx, word [eax]
or edx, 4
mov word [eax], dx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 0x15f4]
movzx edx, word [eax]
or edx, 8
mov word [eax], dx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 0x15f4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax + 2]
test eax, eax
je 0x45dbeb
mov eax, dword [ebx + 0x15f4]
mov ax, word [eax + 2]
mov word [ebx + 0x44], ax
movzx eax, word [ebx + 0x44]
and eax, 2
je 0x45dbeb
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x45dbeb
mov eax, dword [ebx + 0x15f4]
mov edx, dword [ebx]
mov ecx, dword [eax + 4]
dec ecx
mov ecx, dword [edx + ecx*4]
push ecx
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 4]
dec eax
mov eax, dword [edx + eax*4]
push eax
call fcn.004a44a0
add esp, 8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45dc09
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45dc15
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45dc3a
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 2
mov dword [ebp - 8], eax
lea eax, [ebx + 0x15f4]
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.0049b640
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx edx, byte [edx + eax + 1]
movsx edx, dl
add eax, edx
mov dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx edx, word [edx + eax + 1]
movsx edx, dx
add eax, edx
mov dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea edx, [edx + eax + 1]
movzx ecx, byte [edx + 2]
mov esi, ecx
and esi, 0x80
je 0x45dcc9
mov dword [ebp - 0x44], 0xff
jmp 0x45dcd0
mov dword [ebp - 0x44], 0
movzx esi, byte [edx]
movzx edx, byte [edx + 1]
shl edx, 8
or esi, edx
mov edx, ecx
shl edx, 0x10
mov ecx, esi
or ecx, edx
mov edx, dword [ebp - 0x44]
shl edx, 0x18
or ecx, edx
mov edx, ecx
add eax, edx
mov dword [ebp - 4], eax
jmp 0x45fba1
mov dword [ebp - 0x48], 2
call fcn.0046bd50
test eax, eax
jne 0x45dd1a
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add dword [ebp - 4], eax
jmp 0x45fba1
mov word [ebp - 0x46], 3
call fcn.0046bd50
test eax, eax
jne 0x45dd43
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
mov word [ebp - 0x46], ax
movsx eax, word [ebp - 0x46]
add dword [ebp - 4], eax
jmp 0x45fba1
mov dword [ebp - 0x48], 4
call fcn.0046bd50
test eax, eax
jne 0x45dda7
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 1]
movzx edx, byte [eax + 2]
mov ecx, edx
and ecx, 0x80
je 0x45dd80
mov dword [ebp - 0x4c], 0xff
jmp 0x45dd87
mov dword [ebp - 0x4c], 0
movzx ecx, byte [eax]
movzx eax, byte [eax + 1]
shl eax, 8
or ecx, eax
mov eax, edx
shl eax, 0x10
mov edx, ecx
or edx, eax
mov eax, dword [ebp - 0x4c]
shl eax, 0x18
or edx, eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x48]
add dword [ebp - 4], eax
jmp 0x45fba1
mov dword [ebp - 0x48], 2
call fcn.0046bd50
test eax, eax
je 0x45ddd3
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add dword [ebp - 4], eax
jmp 0x45fba1
mov word [ebp - 0x46], 3
call fcn.0046bd50
test eax, eax
je 0x45ddfc
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
mov word [ebp - 0x46], ax
movsx eax, word [ebp - 0x46]
add dword [ebp - 4], eax
jmp 0x45fba1
mov dword [ebp - 0x48], 4
call fcn.0046bd50
test eax, eax
je 0x45de60
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 1]
movzx edx, byte [eax + 2]
mov ecx, edx
and ecx, 0x80
je 0x45de39
mov dword [ebp - 0x4c], 0xff
jmp 0x45de40
mov dword [ebp - 0x4c], 0
movzx ecx, byte [eax]
movzx eax, byte [eax + 1]
shl eax, 8
or ecx, eax
mov eax, edx
shl eax, 0x10
mov edx, ecx
or edx, eax
mov eax, dword [ebp - 0x4c]
shl eax, 0x18
or edx, eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x48]
add dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax], pe_nt_image_headers32
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax + 8], 1
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
jg 0x45deaa
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax], pe_nt_image_headers32
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax + 8], 0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
jg 0x45df04
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax], 2
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax + 0xc], 1
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax + 8], 0xa
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
jg 0x45df6a
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax], 2
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax + 0xc], 0
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax + 8], 0xa
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
jg 0x45dfd0
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax], 0
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
jg 0x45e01e
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax], 2
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + edx + 1]
movsx edx, dl
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax + 8], 0xa
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
jg 0x45e08e
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax], 2
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + edx + 1]
movsx edx, dx
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [eax + 8], 0xa
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
jg 0x45e0fe
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
push eax
call fcn.0046acd0
pop ecx
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
push dword [edx + eax + 5]
mov eax, dword [edx + eax + 1]
pop edx
push edx
push eax
call fcn.0046aeb0
add esp, 8
add dword [ebp - 4], 9
jmp 0x45fba1
mov eax, dword [ebp - 4]
inc eax
lea edx, [eax + 8]
mov ecx, dword [ebp + 8]
movzx esi, byte [ecx + edx + 1]
push esi
movzx edx, byte [ecx + edx]
push edx
fld qword [ecx + eax]
sub esp, 8
fstp qword [esp]
call fcn.0046b010
add esp, 0x10
add dword [ebp - 4], 0xb
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + eax + 5]
push ecx
mov eax, dword [edx + eax + 1]
push eax
call fcn.0046b170
add esp, 8
add dword [ebp - 4], 9
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
push eax
call fcn.0046b0f0
pop ecx
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov ax, word [edx + eax + 1]
mov word [ebp - 0x46], ax
cmp dword [ebp - 0x20], 0
je 0x45e1ef
movzx eax, word [ebp - 0x46]
dec eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 3]
push eax
call fcn.0046b270
add esp, 8
jmp 0x45e208
movzx eax, word [ebp - 0x46]
dec eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 3]
push eax
call fcn.004a4f70
add esp, 8
movzx eax, word [ebp - 0x46]
lea eax, [eax + 3]
add dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov al, byte [edx + eax + 1]
mov byte [ebp - 0x45], al
cmp dword [ebp - 0x20], 0
je 0x45e245
movzx eax, byte [ebp - 0x45]
dec eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 2]
push eax
call fcn.0046b270
add esp, 8
jmp 0x45e25e
movzx eax, byte [ebp - 0x45]
dec eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 2]
push eax
call fcn.004a4f70
add esp, 8
movzx eax, byte [ebp - 0x45]
lea eax, [eax + 2]
add dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 4]
mov dword [ebp - 0x4c], eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea ecx, [edx + eax + 6]
push ecx
mov ecx, dword [ebp - 0x48]
push ecx
movzx eax, byte [edx + eax + 3]
push eax
call fcn.0045b390
add esp, 0x10
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x58], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x54], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x58]
cmp ecx, eax
jg 0x45e2d2
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
mov eax, dword [ebp - 0x48]
dec eax
push eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a4d10
add esp, 0xc
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x4c]
lea eax, [edx + eax + 6]
mov dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov ax, word [edx + eax + 1]
mov word [ebp - 0x46], ax
mov eax, dword [ebp - 0x20]
push eax
movzx eax, word [ebp - 0x46]
lea eax, [eax - 3]
movzx eax, ax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 3]
push eax
call fcn.0046b390
add esp, 0xc
movzx eax, word [ebp - 0x46]
add dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
mov word [ebp - 0x46], ax
mov eax, dword [ebp - 0x20]
push eax
movzx eax, word [ebp - 0x46]
lea eax, [eax - 2]
movzx eax, ax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 2]
push eax
call fcn.0046b4d0
add esp, 0xc
movzx eax, word [ebp - 0x46]
add dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 4]
push eax
call fcn.0046a8b0
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 0x8d8]
test eax, eax
je 0x45e3bc
dec eax
shl eax, 5
lea eax, [ebx + eax + 0xd8]
push eax
call fcn.0046a8b0
pop ecx
jmp 0x45e3c1
call fcn.0046a9c0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046b2e0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movzx eax, ax
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046b2e0
pop ecx
add dword [ebp - 4], 2
jmp 0x45fba1
call fcn.0046b6d0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046b750
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046b750
pop ecx
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046b7a0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
jg 0x45e4b2
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004f1ebc
add esp, 8
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
mov edx, dword [ebx + 0x30]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + 0x18]
mov edx, dword [edx + 0x24]
mov eax, dword [edx + eax*4]
push eax
call fcn.0046a8b0
pop ecx
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
mov word [ebp - 0x4a], ax
mov eax, dword [ebp - 0x48]
mov dword [eax], 0x2000
mov eax, dword [ebp - 0x48]
movsx edx, word [ebp - 0x4a]
inc edx
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x48]
or dword [eax + 0xc], 0xffffffff
mov eax, dword [ebp - 0x48]
mov edx, dword [ebx + 0x30]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + 0x18]
lea edx, [edx + 0x24]
mov dword [eax + 8], edx
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x54], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x50], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x54]
cmp ecx, eax
jg 0x45e590
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
movsx eax, ax
push eax
call fcn.0046b840
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
movsx eax, ax
push eax
call fcn.0046b840
pop ecx
add dword [ebp - 4], 2
jmp 0x45fba1
mov dword [ebp - 0x48], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
test eax, eax
jl 0x45e633
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x2000
je 0x45e654
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a0990
pop ecx
mov dword [ebp - 0x48], eax
jmp 0x45e654
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
push eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 4]
push eax
call fcn.004bc850
add esp, 8
mov dword [ebp - 0x48], eax
push 1
mov eax, dword [ebp - 0x48]
push eax
call fcn.00460120
add esp, 8
mov eax, dword [ebp - 0x48]
push eax
call fcn.0046a8b0
pop ecx
add dword [ebp - 4], 2
jmp 0x45fba1
mov dword [ebp - 0x48], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
test eax, eax
jl 0x45e6be
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x2000
je 0x45e6df
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a0990
pop ecx
mov dword [ebp - 0x48], eax
jmp 0x45e6df
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
push eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 4]
push eax
call fcn.004bc850
add esp, 8
mov dword [ebp - 0x48], eax
push 0xffffffffffffffff
mov eax, dword [ebp - 0x48]
push eax
call fcn.00460120
add esp, 8
mov eax, dword [ebp - 0x48]
push eax
call fcn.0046a8b0
pop ecx
add dword [ebp - 4], 2
jmp 0x45fba1
mov dword [ebp - 0x48], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
test eax, eax
jl 0x45e749
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x2000
je 0x45e76a
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a0990
pop ecx
mov dword [ebp - 0x48], eax
jmp 0x45e76a
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
push eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 4]
push eax
call fcn.004bc850
add esp, 8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
mov edx, dword [ebx + 4]
mov edx, dword [edx - 4]
push edx
push eax
call fcn.00460840
add esp, 0xc
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45e79c
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45e7a8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45e7cd
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 2
jmp 0x45fba1
mov dword [ebp - 0x48], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 2]
movsx eax, ax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
test eax, eax
jl 0x45e830
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x2000
je 0x45e851
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a0990
pop ecx
mov dword [ebp - 0x48], eax
jmp 0x45e851
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
push eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 4]
push eax
call fcn.004bc850
add esp, 8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.00460120
add esp, 8
add dword [ebp - 4], 4
jmp 0x45fba1
mov dword [ebp - 0x48], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
test eax, eax
jl 0x45e8b3
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x2000
je 0x45e8d4
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a0990
pop ecx
mov dword [ebp - 0x48], eax
jmp 0x45e8d4
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
push eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 4]
push eax
call fcn.004bc850
add esp, 8
mov dword [ebp - 0x48], eax
push 1
mov eax, dword [ebp - 0x48]
push eax
call fcn.00460120
add esp, 8
add dword [ebp - 4], 2
jmp 0x45fba1
mov dword [ebp - 0x48], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
test eax, eax
jl 0x45e934
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x2000
je 0x45e955
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a0990
pop ecx
mov dword [ebp - 0x48], eax
jmp 0x45e955
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
push eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 4]
push eax
call fcn.004bc850
add esp, 8
mov dword [ebp - 0x48], eax
push 0xffffffffffffffff
mov eax, dword [ebp - 0x48]
push eax
call fcn.00460120
add esp, 8
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 2]
movsx eax, ax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
test eax, eax
jl 0x45e9bf
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x2000
je 0x45e9e0
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a0990
pop ecx
mov dword [ebp - 0x48], eax
jmp 0x45e9e0
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
push eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 4]
push eax
call fcn.004bc850
add esp, 8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
and edx, 0x1a
jne 0x45ea21
push eax
call fcn.004874e0
pop ecx
and eax, 0x8000
je 0x45ea21
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0046ac40
pop ecx
mov eax, dword [ebp - 0x48]
push eax
push 1
push 0
push 0x696ea5
mov edx, dword [ebx + 4]
mov edx, dword [edx - 4]
push edx
push eax
call fcn.004689e0
add esp, 0x18
jmp 0x45ea31
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a0410
add esp, 8
add dword [ebp - 4], 4
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov ax, word [edx + eax + 2]
mov word [ebp - 0x4a], ax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
test eax, eax
jl 0x45ea8b
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x2000
je 0x45eaac
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a0990
pop ecx
mov dword [ebp - 0x48], eax
jmp 0x45eaac
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
push eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 4]
push eax
call fcn.004bc850
add esp, 8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
and edx, 0x400
jne 0x45eb20
push eax
call fcn.004874e0
pop ecx
and eax, 0x8000
je 0x45eb20
cmp dword [ebp - 0x20], 0
je 0x45eae8
movzx eax, word [ebp - 0x4a]
dec eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 4]
push eax
call fcn.0046b270
add esp, 8
jmp 0x45eb01
movzx eax, word [ebp - 0x4a]
dec eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 4]
push eax
call fcn.004a4f70
add esp, 8
mov eax, dword [ebp - 0x48]
push eax
push 1
push 0
push 0x696ea5
mov edx, dword [ebx + 4]
mov edx, dword [edx - 4]
push edx
push eax
call fcn.004689e0
add esp, 0x18
jmp 0x45eb62
cmp dword [ebp - 0x20], 0
je 0x45eb45
movzx eax, word [ebp - 0x4a]
dec eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 4]
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a4ad0
add esp, 0xc
jmp 0x45eb62
movzx eax, word [ebp - 0x4a]
dec eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 4]
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a4df0
add esp, 0xc
movzx eax, word [ebp - 0x4a]
lea eax, [eax + 4]
add dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 2]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 5]
mov dword [ebp - 0x50], eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea ecx, [edx + eax + 7]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
movzx eax, byte [edx + eax + 4]
push eax
call fcn.0045b390
add esp, 0x10
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
test eax, eax
jl 0x45ebf0
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
mov edx, dword [ebx + 0x30]
mov eax, dword [edx + eax*4 + 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x2000
je 0x45ec11
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a0990
pop ecx
mov dword [ebp - 0x48], eax
jmp 0x45ec11
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
push eax
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 4]
push eax
call fcn.004bc850
add esp, 8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
and edx, 0x400
jne 0x45eca5
push eax
call fcn.004874e0
pop ecx
and eax, 0x8000
je 0x45eca5
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x5c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x58], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x5c]
cmp ecx, eax
jg 0x45ec5c
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
mov eax, dword [ebp - 0x4c]
dec eax
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a4d10
add esp, 0xc
mov eax, dword [ebp - 0x48]
push eax
push 1
push 0
push 0x696ea5
mov edx, dword [ebx + 4]
mov edx, dword [edx - 4]
push edx
push eax
call fcn.004689e0
add esp, 0x18
jmp 0x45ecba
mov eax, dword [ebp - 0x4c]
dec eax
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a4d10
add esp, 0xc
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x50]
lea eax, [edx + eax + 7]
mov dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
movsx eax, ax
mov dword [ebp - 0x4c], eax
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.00460120
add esp, 8
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
and eax, 2
je 0x45ed46
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
cmp dword [eax + 0xc], edx
jne 0x45ed30
mov dword [ebp - 0x50], 1
jmp 0x45ed37
mov dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x50]
push eax
call fcn.0046aa20
pop ecx
jmp 0x45edf7
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
and eax, 8
je 0x45ed7e
mov eax, dword [ebp - 0x48]
push dword [eax + 0xc]
mov eax, dword [eax + 8]
pop edx
cmp eax, dword [ebp - 0x4c]
jne 0x45ed68
mov dword [ebp - 0x50], 1
jmp 0x45ed6f
mov dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x50]
push eax
call fcn.0046aa20
pop ecx
jmp 0x45edf7
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
and edx, 0x400
je 0x45edc0
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x45edc0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x10]
movsx eax, byte [eax]
movzx eax, al
cmp eax, dword [ebp - 0x4c]
jne 0x45edad
mov dword [ebp - 0x50], 1
jmp 0x45edb4
mov dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x50]
push eax
call fcn.0046aa20
pop ecx
jmp 0x45edf7
mov eax, dword [ebp - 0x48]
push eax
push 1
push str.SWITCH
push 0
push 0x644
push 1
call fcn.00492ab0
add esp, 0x18
mov dword [ebp - 0x50], eax
test eax, eax
je 0x45edf7
mov eax, dword [ebp - 0x50]
push eax
call fcn.0046a8b0
pop ecx
mov eax, dword [ebp - 0x50]
push eax
call fcn.0049f7d0
pop ecx
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov ax, word [edx + eax + 1]
mov word [ebp - 0x4a], ax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x400
je 0x45ee4b
movzx eax, word [ebp - 0x4a]
mov edx, dword [ebp - 0x48]
cmp eax, dword [edx + 8]
jae 0x45eee9
movzx eax, word [ebp - 0x4a]
push eax
mov eax, dword [ebp - 0x48]
mov edx, dword [eax + 0x10]
push edx
push eax
call fcn.004a4ad0
add esp, 0xc
jmp 0x45eee9
movzx eax, word [ebp - 0x4a]
push eax
call fcn.0046ac40
pop ecx
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
mov eax, dword [ebp - 0x48]
push eax
push 2
push 0x696e99
push 0
push 0x464
push 1
call fcn.00492ab0
add esp, 0x1c
mov dword [ebp - 0x50], eax
test eax, eax
je 0x45eee9
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45ee9e
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45eeaa
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45eecf
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a44a0
add esp, 8
mov eax, dword [ebp - 0x50]
push eax
call fcn.0049f7d0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov ax, word [edx + eax + 1]
mov word [ebp - 0x4a], ax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
and eax, 0x400
je 0x45ef42
movzx eax, word [ebp - 0x4a]
mov edx, dword [ebp - 0x48]
cmp eax, dword [edx + 8]
jae 0x45ef50
movzx eax, word [ebp - 0x4a]
mov edx, eax
push edx
mov edx, dword [ebp - 0x48]
mov ecx, dword [edx + 8]
mov esi, dword [edx + 0x10]
add ecx, esi
sub ecx, eax
push ecx
push edx
call fcn.004a4ad0
add esp, 0xc
jmp 0x45ef50
push 0
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a4aa0
add esp, 8
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
movsx eax, ax
push eax
call fcn.0046b8f0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
push eax
call fcn.0046b990
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
push eax
call fcn.0046ba40
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
push eax
call fcn.00473b70
add esp, 8
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
jg 0x45eff7
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
push eax
call fcn.00473c00
add esp, 8
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x4c], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x4c]
cmp ecx, eax
jg 0x45f05c
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x4c], eax
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.00473c00
add esp, 8
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046bad0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
call fcn.0046bba0
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.0046bc10
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45f0f9
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45f105
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45f12a
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.0046c070
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046c0c0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046c0c0
pop ecx
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.0046c190
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004f1f7e
add esp, 8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45f1eb
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45f1f7
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45f21c
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
mov edx, dword [ebx + 0x30]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + 0x18]
mov edx, dword [edx + 0x24]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
and eax, 0x1a
je 0x45f264
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0x1a
jne 0x45f270
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov edx, dword [ebp - 0x4c]
cmp eax, dword [edx]
jne 0x45f282
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a44a0
add esp, 8
jmp 0x45f2c9
mov eax, dword [ebp - 0x48]
push eax
call fcn.004874e0
pop ecx
and eax, 0x8000
je 0x45f2b9
mov eax, dword [ebp - 0x48]
push eax
push 0
push 0
push 0x696ea5
mov edx, dword [ebp - 0x4c]
push edx
push eax
call fcn.004689e0
add esp, 0x18
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45f2c9
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x48]
push eax
call fcn.004a44a0
add esp, 8
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45f2ee
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
movsx eax, ax
push eax
call fcn.0046c3a0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movsx eax, al
movsx eax, ax
push eax
call fcn.0046c3a0
pop ecx
add dword [ebp - 4], 2
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
push eax
call fcn.0046c4e0
pop ecx
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.004739c0
add esp, 8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45f392
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45f39e
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45f3c3
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
push eax
call fcn.004739c0
add esp, 8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45f40d
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45f419
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45f43e
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 3
jmp 0x45fba1
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a5c80
add esp, 8
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
push eax
mov eax, dword [ebx + 4]
mov edx, dword [eax - 4]
push edx
mov eax, dword [eax - 8]
push eax
call fcn.004a5de0
add esp, 0xc
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
push eax
push 0
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a59b0
add esp, 0xc
add dword [ebp - 4], 1
jmp 0x45fba1
mov dword [ebp - 0x48], 3
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
push eax
push 0x29
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a59b0
add esp, 0xc
add dword [ebp - 4], 1
mov eax, dword [ebx + 0x13e4]
test eax, eax
je 0x45f59b
lea eax, [eax*4 - 4]
mov eax, dword [ebx + eax + 0x13e8]
test eax, eax
jne 0x45f59b
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x50], eax
cmp eax, 0x3f
je 0x45f54b
jl 0x45f565
cmp dword [ebp - 0x50], 0x6c
jne 0x45f565
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax + 1]
movzx eax, ax
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 2
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x54], eax
mov eax, dword [eax + 8]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 5
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, word [edx + eax + 1]
shl eax, 4
mov edx, dword [ebp + 0xc]
add eax, edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], 3
mov eax, dword [ebx + 0x13e4]
lea eax, [eax*4 - 4]
mov edx, dword [ebp - 0x4c]
mov dword [ebx + eax + 0x13e8], edx
jmp 0x45f5ce
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
mov dword [ebp - 0x50], eax
cmp eax, 0x3f
je 0x45f5be
jl 0x45f5c7
cmp dword [ebp - 0x50], 0x6c
jne 0x45f5c7
mov dword [ebp - 0x48], 2
jmp 0x45f5ce
mov dword [ebp - 0x48], 5
jmp 0x45f5ce
mov dword [ebp - 0x48], 3
mov eax, dword [ebp - 0x48]
add dword [ebp - 4], eax
jmp 0x45fba1
lea eax, [ebx + 0x15e8]
mov edx, dword [eax]
lea ecx, [edx + 1]
mov dword [eax], ecx
mov dword [ebx + edx*4 + 0x14e8], 0
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
push eax
push 0x2a
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a59b0
add esp, 0xc
add dword [ebp - 4], 1
jmp 0x45fba1
lea eax, [ebx + 0x15e8]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
mov eax, dword [ebx + edx*4 + 0x14e8]
mov dword [ebx + 0x15ec], eax
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
push eax
push 0x2b
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a59b0
add esp, 0xc
cmp dword [ebx + 0x15f0], 0
je 0x45f780
mov eax, dword [ebx + 0x15f0]
shl eax, 5
push eax
call fcn.0049b580
pop ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebx + 0x15f0]
dec eax
mov dword [ebp - 0x48], eax
jmp 0x45f710
mov eax, dword [ebp - 0x48]
shl eax, 5
mov edx, dword [ebp - 0x4c]
mov dword [edx + eax], 0
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
mov eax, dword [ebp - 0x48]
shl eax, 5
mov edx, dword [ebp - 0x4c]
add eax, edx
push eax
call fcn.004a44a0
add esp, 8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45f6dc
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45f6e8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45f70d
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
dec dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0
jge 0x45f693
call fcn.00467070
mov dword [ebp - 0x48], 0
jmp 0x45f767
mov eax, dword [ebp - 0x48]
shl eax, 5
mov edx, dword [ebp - 0x4c]
add eax, edx
push eax
call fcn.0046a8b0
pop ecx
mov eax, dword [ebp - 0x48]
shl eax, 5
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx + eax]
and eax, 0xf405
je 0x45f75f
mov eax, dword [ebp - 0x48]
shl eax, 5
mov edx, dword [ebp - 0x4c]
add eax, edx
push eax
call fcn.004a45e0
pop ecx
call fcn.00467070
inc dword [ebp - 0x48]
mov eax, dword [ebx + 0x15f0]
cmp dword [ebp - 0x48], eax
jl 0x45f728
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0049b640
pop ecx
add dword [ebp - 4], 1
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
push eax
push 0x2c
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a59b0
add esp, 0xc
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
push eax
mov eax, dword [ebx + 4]
mov edx, dword [eax - 4]
push edx
mov eax, dword [eax - 8]
push eax
call fcn.004a5e00
add esp, 0xc
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a6390
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a6520
pop ecx
add dword [ebp - 4], 1
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 8]
push eax
call fcn.0046b2e0
pop ecx
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 8]
push eax
call fcn.0046c0c0
pop ecx
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 8]
push eax
call fcn.0046c190
pop ecx
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004f1f7e
add esp, 8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45f8a7
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45f8b3
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45f8d8
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [ebp - 0x4c], eax
push eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
push eax
call fcn.004739c0
add esp, 8
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov eax, dword [eax]
and eax, 0xf405
je 0x45f925
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004a45e0
pop ecx
jmp 0x45f931
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
mov dword [eax], 0
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx - 4]
mov dword [eax], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, edx
jae 0x45f956
push 0
push 0
push 0
push 0x233b
call fcn.00492ef0
add esp, 0x10
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 8]
push eax
call fcn.0046b750
pop ecx
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 8]
push eax
call fcn.0046b7a0
pop ecx
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
add eax, edx
push eax
call fcn.0046b5e0
pop ecx
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
movzx edx, word [edx + eax + 1]
add eax, edx
mov dword [ebp - 4], eax
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x50], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x4c], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x50]
cmp ecx, eax
jg 0x45f9f8
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax - 4]
push eax
call fcn.004f1ebc
add esp, 8
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
push eax
call fcn.00473b70
add esp, 8
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x50], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x4c], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x50]
cmp ecx, eax
jg 0x45fa70
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebx + 4]
mov eax, dword [eax]
push eax
call fcn.00473c00
add esp, 8
mov eax, dword [ebx + 8]
dec eax
mov dword [ebp - 0x50], eax
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
sub edx, ecx
mov dword [ebp - 0x4c], edx
mov eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov ecx, dword [ebp - 0x50]
cmp ecx, eax
jg 0x45fad2
call fcn.004a8c60
lea eax, [ebx + 4]
mov edx, dword [eax]
lea edx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx]
mov dword [eax], 0
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 8]
push eax
call fcn.0046b2e0
pop ecx
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov eax, dword [edx + eax + 1]
mov dword [ebp - 0x48], eax
mov eax, dword [eax + 8]
push eax
call fcn.0046bad0
pop ecx
add dword [ebp - 4], 5
jmp 0x45fba1
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov ax, word [edx + eax + 1]
mov word [ebp - 0x46], ax
movzx eax, word [ebp - 0x46]
dec eax
push eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax + 3]
push eax
call fcn.0046b270
add esp, 8
movzx eax, word [ebp - 0x46]
lea eax, [eax + 3]
add dword [ebp - 4], eax
jmp 0x45fba1
add dword [ebp - 4], 1
jmp 0x45fba1
call fcn.0046a560
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x45fff9
mov eax, dword [ebp - 0x30]
push eax
call fcn.00473700
pop ecx
jmp 0x45fff9
mov word [ebx + 0x44], 4
jmp 0x45fba1
push 0
push 0
push 0
push 0x2336
call fcn.00492ef0
add esp, 0x10
cmp dword [0x7be2a0], 0
je 0x45fbb0
mov word [ebx + 0x44], 1
movzx eax, word [ebx + 0x44]
test eax, eax
je 0x45fe1f
cmp dword [ebp - 8], 0
je 0x45fc74
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 8
je 0x45fc74
mov eax, dword [ebx + 0x15f4]
mov dword [ebp - 0x3c], eax
movzx eax, word [ebx + 0x44]
cmp eax, 1
je 0x45fc06
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax + 2]
test eax, eax
je 0x45fc06
mov eax, dword [ebx + 0x15f4]
mov ax, word [eax + 2]
mov word [ebx + 0x44], ax
movzx eax, word [ebx + 0x44]
and eax, 2
je 0x45fc3f
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x45fc3f
mov eax, dword [ebx + 0x15f4]
mov edx, dword [ebx]
mov ecx, dword [eax + 4]
dec ecx
mov ecx, dword [edx + ecx*4]
push ecx
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 4]
dec eax
mov eax, dword [edx + eax*4]
push eax
call fcn.004a44a0
add esp, 8
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 2
mov dword [ebp - 8], eax
lea eax, [ebx + 0x15f4]
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0049b640
pop ecx
movzx eax, word [ebx + 0x44]
and eax, 4
je 0x45fcc8
cmp dword [ebp - 8], 0
je 0x45fcbd
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 8
jne 0x45fcbd
mov eax, dword [ebx + 0x15f4]
movzx edx, word [eax]
or edx, 8
mov word [eax], dx
mov word [ebx + 0x44], 4
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 4], eax
mov word [ebx + 0x44], 0
jmp 0x45fe1f
mov word [ebx + 0x44], 0
jmp 0x45ff0a
movzx eax, word [ebx + 0x44]
and eax, 2
je 0x45fdfb
cmp dword [ebp - 8], 0
je 0x45fd30
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
mov edx, eax
and edx, 4
je 0x45fd30
and eax, 8
jne 0x45fd30
mov eax, dword [ebx + 0x15f4]
movzx edx, word [eax]
or edx, 8
mov word [eax], dx
mov word [ebx + 0x44], 2
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 0x8000
jne 0x45fd93
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 4], eax
mov word [ebx + 0x44], 0
jmp 0x45fe1f
cmp dword [ebp - 0x1c], 0
je 0x45ff0a
mov eax, dword [ebx + 0x15f4]
movzx eax, word [eax]
and eax, 4
jne 0x45ff0a
jmp 0x45fd93
lea eax, [ebx + 0x12e0]
sub dword [eax], 1
mov eax, dword [ebx + 0x12e0]
shl eax, 5
lea eax, [ebx + eax + 0x8e0]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebx + 0x12e0]
mov eax, dword [ebx + eax*4 + 0x10e0]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebx + 0x12e0]
mov dword [ebx + eax*4 + 0x11e0], 0
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0x10]
cmp dword [ebx + 0x12e0], eax
ja 0x45fd4e
jmp 0x45fdc6
lea eax, [ebx + 0x8d8]
sub dword [eax], 1
mov eax, dword [ebx + 0x8d8]
shl eax, 5
lea eax, [ebx + eax + 0xd8]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 0x14]
cmp dword [ebx + 0x8d8], eax
ja 0x45fda6
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 4]
push eax
call fcn.004a8d40
pop ecx
mov eax, dword [ebx + 0x15f4]
mov eax, dword [eax + 8]
mov dword [ebp - 4], eax
mov word [ebx + 0x44], 0
jmp 0x45fe1f
movzx eax, word [ebx + 0x44]
and eax, 1
je 0x45fe1f
mov dword [0x7be2a0], 1
call fcn.0045b7d0
push eax
call fcn.00533dc0
pop ecx
jmp 0x45ff0a
lea eax, [ebx + 0x6c]
mov edx, dword [eax]
dec edx
mov dword [eax], edx
test edx, edx
jne 0x45ff05
mov dword [ebx + 0x6c], 0x1388
cmp dword [ebx + 0x7c], 0
je 0x45fe75
movzx eax, word [ebx + 0x80]
test eax, eax
jne 0x45fe75
push 0x7d87d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
dec dword [0x7d87f0]
mov dword [ebx + 0x7c], 0
push 0x7d87f8
call fcn.0048dab0
pop ecx
push 0x7d87d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x7d87c0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x1654], 0
je 0x45fe99
push 0x7d87c0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
call fcn.0048d580
push 0x7d87c0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebx + 0x7c], 0
jne 0x45fef7
movzx eax, word [ebx + 0x80]
test eax, eax
jne 0x45fef7
push 0x7d87d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x45fed6
push 0xffffffffffffffff
push 0x7d87d8
push 0x7d87f8
call fcn.0048db80
add esp, 0xc
mov eax, dword [0x7d87f4]
test eax, eax
jne 0x45fec2
inc dword [0x7d87f0]
mov dword [ebx + 0x7c], 1
push 0x7d87d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x7d80f8], 0
je 0x45ff05
call fcn.004b9130
jmp 0x45bb97
push 0x7d87c0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebx + 0x1658], 0
push 0x7d87c0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebx + 0x7c], 0
jne 0x45ff7d
movzx eax, word [ebx + 0x80]
test eax, eax
jne 0x45ff7d
push 0x7d87d8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
jmp 0x45ff5c
push 0xffffffffffffffff
push 0x7d87d8
push 0x7d87f8
call fcn.0048db80
add esp, 0xc
mov eax, dword [0x7d87f4]
test eax, eax
jne 0x45ff48
inc dword [0x7d87f0]
mov dword [ebx + 0x7c], 1
push 0x7d87d8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x45ffc1
mov eax, dword [ebp - 0x30]
push eax
call fcn.00473700
pop ecx
jmp 0x45ffc1
lea eax, [ebx + 0x12e0]
sub dword [eax], 1
mov eax, dword [ebx + 0x12e0]
shl eax, 5
lea eax, [ebx + eax + 0x8e0]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebx + 0x12e0]
mov dword [ebx + eax*4 + 0x11e0], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebx + 0x12e0], eax
ja 0x45ff90
jmp 0x45ffee
lea eax, [ebx + 0x8d8]
sub dword [eax], 1
mov eax, dword [ebx + 0x8d8]
shl eax, 5
lea eax, [ebx + eax + 0xd8]
push eax
call fcn.004a45e0
pop ecx
mov eax, dword [ebp - 0x18]
cmp dword [ebx + 0x8d8], eax
ja 0x45ffce
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret