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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [ecx]
push ebx
mov ebx, dword [ecx + 8]
push esi
push edi
mov edi, edx
mov dword [esp + 0x18], ecx
mov ecx, ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0x50], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x44], ebx
call fcn.0046a7d0
mov ecx, ebx
mov dword [esp + 0x30], eax
call fcn.0046a7d0
movzx ecx, byte [edi + 4]
mov esi, dword [edi + 0x30]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esi]
mov dword [esp + 0x2c], ecx
cmp ecx, 0x74
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x1c], eax
je 0x49ff35
cmp byte [ecx + 0x40], 0
mov edi, 1
jne 0x49ff31
lea eax, [eax + eax*2]
shl eax, 3
mov dword [esp + 0x58], eax
mov edi, edi
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp edi, dword [eax]
mov eax, dword [esp + 0x1c]
jg 0x49ff98
mov edx, dword [esi + 4]
xor ecx, ecx
test eax, eax
jle 0x49fe97
add edx, 0x14
mov ebx, eax
movzx eax, word [edx]
cmp eax, edi
je 0x49fe8f
inc ecx
add edx, 0x18
cmp ecx, ebx
jl 0x49fe80
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
cmp ecx, eax
jne 0x49ff20
mov ecx, dword [esp + 0x14]
mov edx, 0x31
call fcn.0044d680
mov esi, eax
test esi, esi
je 0x49ff8c
push 0x31
push 0
push esi
call fcn.005877c0
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x24]
or eax, 0xffffffff
add esp, 0xc
mov byte [esi], 0x84
mov word [esi + 0x22], ax
mov byte [esi + 0x30], 0
or dword [esi + 4], 0x400
push esi
mov dword [esi + 0x18], 1
mov dword [esi + 8], edi
call fcn.0047c8d0
mov esi, eax
add esp, 4
mov dword [esp + 0x5c], esi
test esi, esi
je 0x49ff1c
mov ecx, dword [esp + 0x58]
mov eax, dword [esi + 4]
mov word [eax + ecx + 0x14], di
mov eax, dword [esp + 0x1c]
inc eax
add ecx, 0x18
mov dword [esp + 0x1c], eax
mov dword [esp + 0x58], ecx
jmp 0x49ff20
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
inc edi
cmp byte [edx + 0x40], 0
je 0x49fe60
mov ecx, edx
mov edi, dword [esp + 0x10]
lea edx, [eax*4]
call fcn.0044d680
mov dword [esp + 0x58], eax
test eax, eax
je 0x49ff9e
mov edi, dword [esp + 0x1c]
mov edx, dword [esi + 4]
xor ecx, ecx
test edi, edi
jle 0x49ff73
add edx, 0x14
mov ebx, eax
jmp 0x49ff60
movzx eax, word [edx]
dec eax
mov dword [ebx + ecx*4], eax
inc ecx
lea edx, [edx + 0x18]
cmp ecx, edi
jl 0x49ff60
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x1c]
mov edx, edi
call fcn.0049e890
add esp, 4
mov dword [esp + 0x5c], eax
jmp 0x49ffa6
mov eax, 7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
jmp 0x49ff31
mov dword [esp + 0x5c], 0
mov dword [edi + 0x30], esi
mov edx, esi
mov esi, dword [esp + 0x18]
push 0
mov ecx, dword [esi]
call fcn.0047c2a0
mov ecx, dword [esp + 0x28]
add esp, 4
cmp dword [esp + 0x2c], 0x74
mov dword [ecx + 0x30], eax
jne 0x49ffd6
mov dword [esp + 0x38], 0
jmp 0x4a01de
mov eax, dword [edi]
mov ecx, dword [eax]
mov eax, dword [esi + 0x48]
mov dword [esp + 0x4c], ecx
lea edx, [eax + 1]
inc eax
add eax, ecx
mov dword [esi + 0x48], eax
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x38], edx
mov dword [esp + 0x54], eax
cmp dword [edi + 0x54], eax
jg 0x4a0066
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0008
add eax, eax
jmp 0x4a000d
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0096
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a0042
cmp esi, dword [eax + 0x110]
jae 0x4a0042
movzx ecx, word [eax + 0xf0]
jmp 0x4a004e
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x54]
shr edx, 4
mov dword [edi + 0x54], edx
mov edx, dword [esp + 0x38]
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 0x19
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x4c]
lea esi, [edi*4 + 0x1d]
add esi, edi
lea eax, [esi - 1]
cmp eax, 0x7ffffefe
ja 0x4a0151
cmp dword [0x62bbe0], 0
je 0x4a00fc
mov eax, dword [0x631968]
test eax, eax
je 0x4a00cd
push eax
call dword [0x62bc34]
add esp, 4
lea edx, [esp + 0x54]
mov ecx, esi
call fcn.0044cfc0
mov eax, dword [0x631968]
test eax, eax
je 0x4a00f2
push eax
call dword [0x62bc3c]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x2c], ecx
jmp 0x4a0109
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x28], ecx
jmp 0x4a010c
push esi
call dword [0x62bc04]
mov ecx, eax
mov dword [esp + 0x2c], eax
add esp, 4
test ecx, ecx
je 0x4a0157
push esi
push 0
push ecx
call fcn.005877c0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
lea eax, [edi + 6]
mov word [ecx + 6], di
lea eax, [ecx + eax*4]
mov dword [ecx + 0x10], eax
mov eax, 1
mov word [ecx + 8], ax
mov eax, dword [edx + 0x10]
add esp, 0xc
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov dword [ecx + 0xc], edx
mov dword [ecx], 1
jmp 0x4a015f
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x14]
mov byte [eax + 0x40], 1
test ecx, ecx
je 0x4a01d6
xor esi, esi
test edi, edi
jle 0x4a01d6
mov ebx, dword [esp + 0x28]
xor edi, edi
add ecx, 0x14
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x34]
test edx, edx
je 0x4a0198
mov ecx, dword [esp + 0x18]
push esi
call fcn.0049e840
mov ecx, dword [esp + 0x44]
add esp, 4
test eax, eax
jne 0x4a01b7
jmp 0x4a019a
xor eax, eax
mov edx, dword [esp + 0x10]
mov edx, dword [edx]
cmp esi, dword [edx]
jge 0x4a01b7
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [edx + edi]
call fcn.0047b200
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
mov eax, dword [ebx + 0x10]
inc esi
mov byte [esi + eax - 1], 0
add ecx, 4
add edi, 0x18
mov dword [esp + 0x40], ecx
cmp esi, dword [esp + 0x4c]
jl 0x4a0176
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov dword [edi + 0x34], 0
mov dword [eax + 0x38], 0
push str.ORDER
push dword [edi + 0x30]
mov edx, edi
mov ecx, esi
call fcn.0047a7c0
mov eax, dword [esp + 0x2c]
add esp, 8
cmp dword [eax + 0x34], 0
jne 0x4a0222
push str.ORDER
push dword [eax + 0x30]
mov edx, eax
mov ecx, esi
call fcn.0047a7c0
add esp, 8
push dword [esp + 0x30]
mov edx, edi
mov ecx, esi
call fcn.0049e5b0
add esp, 4
cmp dword [edi + 8], 0
je 0x4a042b
cmp dword [esp + 0x2c], 0x74
jne 0x4a042b
mov eax, dword [esi + 0x48]
inc eax
mov dword [esp + 0x40], eax
inc eax
mov dword [esp + 0x3c], eax
mov dword [esi + 0x48], eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4a0267
lea ecx, [eax + 1]
mov dword [esp + 0x54], ecx
jmp 0x4a026e
mov eax, dword [edi + 8]
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x4c], eax
cmp dword [edi + 0x54], eax
jg 0x4a02e2
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0288
add eax, eax
jmp 0x4a028d
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0316
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a02c2
cmp esi, dword [eax + 0x110]
jae 0x4a02c2
movzx ecx, word [eax + 0xf0]
jmp 0x4a02ce
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x4c]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x54]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x54], eax
cmp dword [edi + 0x54], eax
jg 0x4a038a
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0330
add eax, eax
jmp 0x4a0335
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a03be
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a036a
cmp esi, dword [eax + 0x110]
jae 0x4a036a
movzx ecx, word [eax + 0xf0]
jmp 0x4a0376
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x54]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x40]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x10]
mov esi, dword [edi + 0x3c]
test esi, esi
je 0x4a0463
test dword [esi + 4], 0x4000
mov edi, dword [esp + 0x14]
jne 0x4a044d
mov edx, dword [esi + 0xc]
mov ecx, edi
call fcn.0047bde0
mov edx, dword [esi + 0x10]
mov ecx, edi
call fcn.0047bde0
test dword [esi + 4], 0x10000
je 0x4a0401
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.0044d450
test dword [esi + 4], 0x800
je 0x4a043d
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4a0449
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.0049b280
mov edx, edi
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.0044d450
jmp 0x4a044d
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
jmp 0x4a03c2
mov edx, dword [esi + 0x14]
mov ecx, edi
call fcn.0047caa0
jmp 0x4a044d
mov edi, dword [esp + 0x14]
test dword [esi + 4], 0x8000
jne 0x4a045f
mov edx, esi
mov ecx, edi
call fcn.0044d450
mov edi, dword [esp + 0x10]
mov esi, dword [edi + 0x40]
mov dword [edi + 0x3c], 0
test esi, esi
je 0x4a04f9
test dword [esi + 4], 0x4000
mov edi, dword [esp + 0x14]
jne 0x4a04e3
mov edx, dword [esi + 0xc]
mov ecx, edi
call fcn.0047bde0
mov edx, dword [esi + 0x10]
mov ecx, edi
call fcn.0047bde0
test dword [esi + 4], 0x10000
je 0x4a04a9
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.0044d450
test dword [esi + 4], 0x800
je 0x4a04d3
mov edi, dword [esi + 0x14]
test edi, edi
je 0x4a04df
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.0049b280
mov edx, edi
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.0044d450
jmp 0x4a04e3
mov edx, dword [esi + 0x14]
mov ecx, edi
call fcn.0047caa0
jmp 0x4a04e3
mov edi, dword [esp + 0x14]
test dword [esi + 4], 0x8000
jne 0x4a04f5
mov edx, esi
mov ecx, edi
call fcn.0044d450
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
mov dword [edi + 0x40], 0
inc dword [esi + 0x48]
mov ecx, dword [esi + 0x48]
mov word [esp + 0x7c], 0xd
lea edx, [ecx + 1]
mov dword [esp + 0x80], ecx
lea eax, [edx + 2]
mov dword [esi + 0x48], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov word [esp + 0x68], 0xd
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], esi
cmp dword [edi + 0x54], esi
jg 0x4a05d6
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0578
add eax, eax
jmp 0x4a057d
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a064b
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a05b6
cmp esi, dword [eax + 0x110]
jae 0x4a05b6
movzx ecx, word [eax + 0xf0]
jmp 0x4a05c2
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x44]
mov eax, dword [ebx + 4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x34]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
lea edx, [esi + 1]
mov word [eax + ecx*4], 0x14
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1d4]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x7c]
push ecx
mov ecx, eax
call fcn.004a3e40
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
add esp, 4
mov dword [esp + 0x54], eax
cmp dword [edi + 0x54], eax
jg 0x4a06af
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0655
add eax, eax
jmp 0x4a065a
mov dword [esp + 0x44], 1
jmp 0x4a0609
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a06e3
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a068f
cmp esi, dword [eax + 0x110]
jae 0x4a068f
movzx ecx, word [eax + 0xf0]
jmp 0x4a069b
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x54]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x34]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 0x15
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebx + 0x20]
mov eax, dword [esp + 0x44]
cmp edx, eax
jbe 0x4a06f8
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x18]
dec ecx
mov dword [eax + 0x58], ecx
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x54], esi
cmp dword [edi + 0x54], esi
jg 0x4a077a
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a071c
add eax, eax
jmp 0x4a0721
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0808
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a075a
cmp esi, dword [eax + 0x110]
jae 0x4a075a
movzx ecx, word [eax + 0xf0]
jmp 0x4a0766
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x54]
mov eax, dword [ebx + 4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x20]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
lea edx, [esi + 1]
mov word [eax + ecx*4], 0x14
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov edi, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0xc], 0
mov edx, dword [eax + 0x1d4]
mov dword [esp + 0x60], edx
lea edx, [esp + 0x68]
push edx
mov edx, ecx
mov ecx, eax
call fcn.004a3e40
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [eax + 8], edi
mov dword [eax + 0xc], esi
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x44], eax
cmp dword [edi + 0x54], eax
jg 0x4a086c
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0812
add eax, eax
jmp 0x4a0817
mov dword [esp + 0x54], 1
jmp 0x4a07ad
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a08a0
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a084c
cmp esi, dword [eax + 0x110]
jae 0x4a084c
movzx ecx, word [eax + 0xf0]
jmp 0x4a0858
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x44]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 0x15
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push esi
push edi
inc eax
push eax
push dword [ebp + 8]
lea eax, [esp + 0x90]
push eax
call fcn.0049f910
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x44]
add esp, 0x18
cmp eax, 0x74
je 0x4a08e1
cmp eax, 0x73
jne 0x4a0907
push dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push esi
push edi
push dword [esp + 0x58]
lea eax, [esp + 0x78]
push dword [ebp + 8]
push eax
call fcn.0049f910
add esp, 0x18
mov dword [esp + 0x50], eax
test esi, esi
je 0x4a0918
dec dword [esi]
jne 0x4a0918
push esi
call fcn.0044d3b0
add esp, 4
mov eax, dword [esp + 0x2c]
cmp eax, 0x75
je 0x4a0b5c
cmp eax, 0x76
je 0x4a0b5c
mov edx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x28], edx
cmp dword [edi + 0x54], edx
jg 0x4a09a6
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0948
add eax, eax
jmp 0x4a094d
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a09f4
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a0986
cmp esi, dword [eax + 0x110]
jae 0x4a0986
movzx ecx, word [eax + 0xf0]
jmp 0x4a0992
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov edx, dword [esp + 0x28]
mov dword [ebx + 4], esi
mov eax, dword [ebx + 4]
inc dword [ebx + 0x20]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x50]
mov word [eax + ecx*4], 0x11
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x44], edx
cmp dword [edi + 0x54], edx
jg 0x4a0a5c
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a09fe
add eax, eax
jmp 0x4a0a03
mov dword [esp + 0x28], 1
jmp 0x4a09da
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0aaa
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a0a3c
cmp esi, dword [eax + 0x110]
jae 0x4a0a3c
movzx ecx, word [eax + 0xf0]
jmp 0x4a0a48
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov edx, dword [esp + 0x44]
mov dword [ebx + 4], esi
mov eax, dword [ebx + 4]
inc dword [ebx + 0x20]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x3c], eax
cmp dword [edi + 0x54], eax
jg 0x4a0b0e
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0ab4
add eax, eax
jmp 0x4a0ab9
mov dword [esp + 0x44], 1
jmp 0x4a0a90
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0b42
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a0aee
cmp esi, dword [eax + 0x110]
jae 0x4a0aee
movzx ecx, word [eax + 0xf0]
jmp 0x4a0afa
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x3c]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x28]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + 0x18]
add dword [edx + 0x18], eax
mov eax, dword [ecx + 0x1c]
adc dword [edx + 0x1c], eax
mov eax, dword [esp + 0x28]
jmp 0x4a0b72
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov eax, ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x2c], 0x76
jne 0x4a0ba2
mov dword [esp + 0x38], eax
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
cmp dword [edx + 0x1c], ecx
jb 0x4a0da9
ja 0x4a0b97
cmp dword [edx + 0x18], eax
jbe 0x4a0da9
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
jmp 0x4a0da9
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x38], esi
cmp dword [edi + 0x54], esi
jg 0x4a0c1a
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0bbc
add eax, eax
jmp 0x4a0bc1
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0c69
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a0bfa
cmp esi, dword [eax + 0x110]
jae 0x4a0bfa
movzx ecx, word [eax + 0xf0]
jmp 0x4a0c06
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x38]
inc dword [ebx + 0x20]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x20]
lea ecx, [esi + esi*4]
inc edx
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 0x11
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x3c], eax
cmp dword [edi + 0x54], eax
jg 0x4a0ccd
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0c73
add eax, eax
jmp 0x4a0c78
mov dword [esp + 0x38], 1
jmp 0x4a0c4f
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0d01
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a0cad
cmp esi, dword [eax + 0x110]
jae 0x4a0cad
movzx ecx, word [eax + 0xf0]
jmp 0x4a0cb9
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x3c]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x34]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x3c], eax
cmp dword [edi + 0x54], eax
jg 0x4a0d75
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0d1b
add eax, eax
jmp 0x4a0d20
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0da9
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a0d55
cmp esi, dword [eax + 0x110]
jae 0x4a0d55
movzx ecx, word [eax + 0xf0]
jmp 0x4a0d61
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x3c]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x38]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x3c], esi
cmp dword [edi + 0x54], esi
jg 0x4a0e21
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0dc3
add eax, eax
jmp 0x4a0dc8
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0e70
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a0e01
cmp esi, dword [eax + 0x110]
jae 0x4a0e01
movzx ecx, word [eax + 0xf0]
jmp 0x4a0e0d
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x3c]
inc dword [ebx + 0x20]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x20]
lea ecx, [esi + esi*4]
inc edx
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 0x11
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x40], eax
cmp dword [edi + 0x54], eax
jg 0x4a0ed4
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0e7a
add eax, eax
jmp 0x4a0e7f
mov dword [esp + 0x3c], 1
jmp 0x4a0e56
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0f08
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a0eb4
cmp esi, dword [eax + 0x110]
jae 0x4a0eb4
movzx ecx, word [eax + 0xf0]
jmp 0x4a0ec0
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x40]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x34]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x40], eax
cmp dword [edi + 0x54], eax
jg 0x4a0f7c
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0f22
add eax, eax
jmp 0x4a0f27
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a0fb0
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a0f5c
cmp esi, dword [eax + 0x110]
jae 0x4a0f5c
movzx ecx, word [eax + 0xf0]
jmp 0x4a0f68
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x40]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x48]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x2c]
cmp eax, 0x74
jne 0x4a0fc6
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
jmp 0x4a113b
cmp eax, 0x76
jne 0x4a0fdd
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
inc eax
mov dword [esp + 0x3c], eax
jmp 0x4a113b
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x40], esi
cmp dword [edi + 0x54], esi
jg 0x4a1055
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a0ff7
add eax, eax
jmp 0x4a0ffc
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a10a3
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a1035
cmp esi, dword [eax + 0x110]
jae 0x4a1035
movzx ecx, word [eax + 0xf0]
jmp 0x4a1041
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x40]
mov eax, dword [ebx + 4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x34]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x28]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x28], eax
cmp dword [edi + 0x54], eax
jg 0x4a1107
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a10ad
add eax, eax
jmp 0x4a10b2
mov dword [esp + 0x40], 1
jmp 0x4a1089
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a113b
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a10e7
cmp esi, dword [eax + 0x110]
jae 0x4a10e7
movzx ecx, word [eax + 0xf0]
jmp 0x4a10f3
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x28]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x48]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x28], eax
cmp ecx, 0x74
je 0x4a1154
cmp ecx, 0x73
jne 0x4a11f5
mov edi, dword [ebx + 0x18]
cmp dword [edi + 0x54], eax
jg 0x4a11c1
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a1167
add eax, eax
jmp 0x4a116c
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a11f5
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a11a1
cmp esi, dword [eax + 0x110]
jae 0x4a11a1
movzx ecx, word [eax + 0xf0]
jmp 0x4a11ad
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x28]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x50]
mov word [eax + ecx*4], 0x11
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x50], eax
cmp dword [edi + 0x54], eax
jg 0x4a1269
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a120f
add eax, eax
jmp 0x4a1214
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a129d
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a1249
cmp esi, dword [eax + 0x110]
jae 0x4a1249
movzx ecx, word [eax + 0xf0]
jmp 0x4a1255
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x38]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x50], eax
cmp dword [edi + 0x54], eax
jg 0x4a1311
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a12b7
add eax, eax
jmp 0x4a12bc
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a1345
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a12f1
cmp esi, dword [eax + 0x110]
jae 0x4a12f1
movzx ecx, word [eax + 0xf0]
jmp 0x4a12fd
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x48]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebx + 0x20]
mov eax, dword [esp + 0x54]
cmp edx, eax
jbe 0x4a135a
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebx + 0x18]
dec ecx
mov dword [eax + 0x58], ecx
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x54], eax
cmp dword [edi + 0x54], eax
jg 0x4a13d8
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a137e
add eax, eax
jmp 0x4a1383
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a140c
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a13b8
cmp esi, dword [eax + 0x110]
jae 0x4a13b8
movzx ecx, word [eax + 0xf0]
jmp 0x4a13c4
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x54]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x34]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x54], eax
cmp dword [edi + 0x54], eax
jg 0x4a1480
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a1426
add eax, eax
jmp 0x4a142b
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a14b4
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a1460
cmp esi, dword [eax + 0x110]
jae 0x4a1460
movzx ecx, word [eax + 0xf0]
jmp 0x4a146c
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x54]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x38]
mov word [eax + ecx*4], 0x16
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x18]
or eax, 0xffffffff
mov ecx, eax
sub ecx, dword [esp + 0x48]
js 0x4a14cf
mov edx, dword [esi + 0x70]
test edx, edx
je 0x4a14cf
mov eax, dword [ebx + 0x20]
mov dword [edx + ecx*4], eax
mov eax, dword [ebx + 0x20]
dec eax
mov dword [esi + 0x58], eax
mov ecx, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
mov dword [esp + 0x54], ecx
cmp dword [ecx + 0x54], esi
jg 0x4a1552
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a14f0
add eax, eax
jmp 0x4a14f5
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov edi, eax
add esp, 4
test edi, edi
je 0x4a15ca
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
cmp edi, dword [eax + 0x10c]
jb 0x4a1532
cmp edi, dword [eax + 0x110]
jae 0x4a1532
movzx ecx, word [eax + 0xf0]
jmp 0x4a153e
push edi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x54]
shr edx, 4
mov dword [eax + 0x54], edx
mov dword [ebx + 4], edi
mov eax, dword [ebx + 4]
inc dword [ebx + 0x20]
lea ecx, [esi + esi*4]
mov word [eax + ecx*4], 0x28
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
test edx, edx
je 0x4a15e0
cmp byte [ecx + 0x40], 0
jne 0x4a15e0
test esi, esi
jns 0x4a159d
mov esi, dword [ebx + 0x20]
dec esi
lea eax, [esi + esi*4]
push dword [edx + eax*4 + 0x10]
lea esi, [edx + eax*4]
movsx edx, byte [esi + 1]
call fcn.0046aa80
mov eax, dword [esp + 0x5c]
add esp, 4
mov dword [esi + 0x10], 0
test eax, eax
jne 0x4a15d1
mov dword [esi + 0x10], eax
mov byte [esi + 1], al
jmp 0x4a15f1
mov esi, 1
jmp 0x4a1586
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xf1
jmp 0x4a15f1
push dword [esp + 0x58]
mov edx, 0xfffffff1
call fcn.0046aa80
add esp, 4
mov eax, dword [esp + 0x70]
mov ecx, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
cmp dword [ecx + 0x54], esi
jg 0x4a1680
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a161e
add eax, eax
jmp 0x4a1623
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov edi, eax
add esp, 4
test edi, edi
je 0x4a16f8
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
cmp edi, dword [eax + 0x10c]
jb 0x4a1660
cmp edi, dword [eax + 0x110]
jae 0x4a1660
movzx ecx, word [eax + 0xf0]
jmp 0x4a166c
push edi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x58]
shr edx, 4
mov dword [eax + 0x54], edx
mov dword [ebx + 4], edi
mov eax, dword [ebx + 4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x54]
lea ecx, [esi + esi*4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x1c]
mov word [eax + ecx*4], 0x29
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
test edx, edx
je 0x4a1710
cmp byte [ecx + 0x40], 0
jne 0x4a1710
test esi, esi
jns 0x4a16cb
mov esi, dword [ebx + 0x20]
dec esi
lea eax, [esi + esi*4]
push dword [edx + eax*4 + 0x10]
lea esi, [edx + eax*4]
movsx edx, byte [esi + 1]
call fcn.0046aa80
mov eax, dword [esp + 0x60]
add esp, 4
mov dword [esi + 0x10], 0
test eax, eax
jne 0x4a16ff
mov dword [esi + 0x10], eax
mov byte [esi + 1], al
jmp 0x4a1721
mov esi, 1
jmp 0x4a16b4
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xfa
jmp 0x4a1721
push dword [esp + 0x5c]
mov edx, 0xfffffffa
call fcn.0046aa80
add esp, 4
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x4a1733
mov eax, dword [ebx + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 1
mov eax, dword [ebx + 0x20]
mov edi, dword [ebx + 0x18]
mov dword [esp + 0x5c], eax
cmp dword [edi + 0x54], eax
jg 0x4a17a7
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a174d
add eax, eax
jmp 0x4a1752
mov eax, 0x33
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov esi, eax
add esp, 4
test esi, esi
je 0x4a17db
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a1787
cmp esi, dword [eax + 0x110]
jae 0x4a1787
movzx ecx, word [eax + 0xf0]
jmp 0x4a1793
push esi
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x5c]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x3c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x28]
mov word [eax + ecx*4], 0x2a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x18]
or eax, 0xffffffff
mov ecx, eax
sub ecx, dword [esp + 0x30]
js 0x4a17f6
mov edx, dword [esi + 0x70]
test edx, edx
je 0x4a17f6
mov eax, dword [ebx + 0x20]
mov dword [edx + ecx*4], eax
mov eax, dword [ebx + 0x20]
dec eax
mov dword [esi + 0x58], eax
mov eax, dword [ebp + 8]
cmp byte [eax], 9
jne 0x4a182b
mov eax, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4a181b
mov ecx, eax
mov eax, dword [ecx + 0x34]
test eax, eax
jne 0x4a1812
push dword [ecx]
mov ecx, dword [esp + 0x1c]
xor edx, edx
call fcn.0049dd20
add esp, 4
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x34]
test edi, edi
je 0x4a1a12
mov ebx, dword [esp + 0x14]
mov edx, dword [edi]
mov ecx, ebx
call fcn.0047caa0
mov edx, dword [edi + 0x20]
mov ecx, ebx
call fcn.00489610
mov esi, dword [edi + 0x24]
test esi, esi
je 0x4a18b4
test dword [esi + 4], 0x4000
jne 0x4a18a2
mov edx, dword [esi + 0xc]
mov ecx, ebx
call fcn.0047bde0
mov edx, dword [esi + 0x10]
mov ecx, ebx
call fcn.0047bde0
test dword [esi + 4], 0x10000
je 0x4a1888
mov edx, dword [esi + 8]
mov ecx, ebx
call fcn.0044d450
test dword [esi + 4], 0x800
mov edx, dword [esi + 0x14]
mov ecx, ebx
je 0x4a189d
call fcn.0049b4c0
jmp 0x4a18a2
call fcn.0047caa0
test dword [esi + 4], 0x8000
jne 0x4a18b4
mov edx, esi
mov ecx, ebx
call fcn.0044d450
mov edx, dword [edi + 0x28]
mov ecx, ebx
call fcn.0047caa0
mov esi, dword [edi + 0x2c]
test esi, esi
je 0x4a1921
test dword [esi + 4], 0x4000
jne 0x4a190f
mov edx, dword [esi + 0xc]
mov ecx, ebx
call fcn.0047bde0
mov edx, dword [esi + 0x10]
mov ecx, ebx
call fcn.0047bde0
test dword [esi + 4], 0x10000
je 0x4a18f5
mov edx, dword [esi + 8]
mov ecx, ebx
call fcn.0044d450
test dword [esi + 4], 0x800
mov edx, dword [esi + 0x14]
mov ecx, ebx
je 0x4a190a
call fcn.0049b4c0
jmp 0x4a190f
call fcn.0047caa0
test dword [esi + 4], 0x8000
jne 0x4a1921
mov edx, esi
mov ecx, ebx
call fcn.0044d450
mov edx, dword [edi + 0x30]
mov ecx, ebx
call fcn.0047caa0
mov edx, dword [edi + 0x34]
mov ecx, ebx
call fcn.0049b4c0
mov esi, dword [edi + 0x3c]
test esi, esi
je 0x4a1998
test dword [esi + 4], 0x4000
jne 0x4a1986
mov edx, dword [esi + 0xc]
mov ecx, ebx
call fcn.0047bde0
mov edx, dword [esi + 0x10]
mov ecx, ebx
call fcn.0047bde0
test dword [esi + 4], 0x10000
je 0x4a196c
mov edx, dword [esi + 8]
mov ecx, ebx
call fcn.0044d450
test dword [esi + 4], 0x800
mov edx, dword [esi + 0x14]
mov ecx, ebx
je 0x4a1981
call fcn.0049b4c0
jmp 0x4a1986
call fcn.0047caa0
test dword [esi + 4], 0x8000
jne 0x4a1998
mov edx, esi
mov ecx, ebx
call fcn.0044d450
mov esi, dword [edi + 0x40]
test esi, esi
je 0x4a19fb
test dword [esi + 4], 0x4000
jne 0x4a19e9
mov edx, dword [esi + 0xc]
mov ecx, ebx
call fcn.0047bde0
mov edx, dword [esi + 0x10]
mov ecx, ebx
call fcn.0047bde0
test dword [esi + 4], 0x10000
je 0x4a19cf
mov edx, dword [esi + 8]
mov ecx, ebx
call fcn.0044d450
test dword [esi + 4], 0x800
mov edx, dword [esi + 0x14]
mov ecx, ebx
je 0x4a19e4
call fcn.0049b4c0
jmp 0x4a19e9
call fcn.0047caa0
test dword [esi + 4], 0x8000
jne 0x4a19fb
mov edx, esi
mov ecx, ebx
call fcn.0044d450
mov edx, dword [edi + 0x44]
mov ecx, ebx
call fcn.0048a8b0
mov edx, edi
mov ecx, ebx
call fcn.0044d450
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
mov dword [eax + 0x34], ecx
mov dword [ecx + 0x38], eax
cmp byte [ebx + 0x1c2], 2
jne 0x4a1ba5
movzx eax, byte [eax + 4]
mov edi, dword [ebx + 8]
sub eax, 0x74
je 0x4a1a54
dec eax
je 0x4a1a4d
dec eax
je 0x4a1a46
mov eax, str.UNION
jmp 0x4a1a59
mov eax, str.INTERSECT
jmp 0x4a1a59
mov eax, str.EXCEPT
jmp 0x4a1a59
mov eax, str.UNION_ALL
push eax
push 0x5e0874
push dword [esp + 0x68]
push dword [esp + 0x70]
push str.COMPOUND_SUBQUERIES__d_AND__d__s__s_
push dword [ebx]
call fcn.0044ee10
mov ecx, dword [edi + 0x18]
mov esi, dword [edi + 0x20]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x1d0]
add esp, 0x18
mov dword [esp + 0x64], eax
mov dword [esp + 0x5c], ecx
cmp dword [ecx + 0x54], esi
jg 0x4a1b00
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a1a9e
add eax, eax
jmp 0x4a1aa3
mov eax, 0x33
mov edx, dword [edi + 4]
mov ecx, dword [ecx]
lea eax, [eax + eax*4]
shl eax, 2
push eax
call fcn.0044d700
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4a1b7d
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
cmp ebx, dword [eax + 0x10c]
jb 0x4a1ae0
cmp ebx, dword [eax + 0x110]
jae 0x4a1ae0
movzx ecx, word [eax + 0xf0]
jmp 0x4a1aec
push ebx
call dword [0x62bc10]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x5c]
shr edx, 4
mov dword [eax + 0x54], edx
mov dword [edi + 4], ebx
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov edx, dword [esp + 0x64]
lea ecx, [esi + esi*4]
mov word [eax + ecx*4], 0x9d
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [edi + 4]
mov ecx, dword [edi]
test edx, edx
je 0x4a1b94
cmp byte [ecx + 0x40], 0
jne 0x4a1b94
test esi, esi
jns 0x4a1b4b
mov esi, dword [edi + 0x20]
dec esi
lea eax, [esi + esi*4]
push dword [edx + eax*4 + 0x10]
lea esi, [edx + eax*4]
movsx edx, byte [esi + 1]
call fcn.0046aa80
mov eax, dword [esp + 0x5c]
add esp, 4
mov dword [esi + 0x10], 0
test eax, eax
jne 0x4a1b84
mov dword [esi + 0x10], eax
mov byte [esi + 1], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, 1
jmp 0x4a1b34
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esp + 0x58]
or eax, 0xffffffff
mov edx, eax
call fcn.0046aa80
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret