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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
mov eax, dword [0x5c2b80]
xor eax, esp
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ecx + 8]
push esi
push edi
mov dword [esp + 0x68], eax
mov esi, dword [ebx + 0x18]
mov eax, dword [ecx]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], edx
mov edi, dword [esi + 0x6c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x20], 0
lea eax, [edi + 1]
mov dword [esp + 0x10], ebx
mov dword [esi + 0x6c], eax
lea eax, [edi - 1]
test edi, eax
jne 0x4d3566
mov edx, dword [esi + 0x70]
lea eax, [edi*8 + 4]
mov ecx, dword [esi]
push 0
push eax
call fcn.0047d3d0
add esp, 8
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
test eax, eax
je 0x4d3574
mov dword [eax + edi*4], 0xffffffff
mov esi, dword [ebx + 0x18]
or ecx, 0xffffffff
mov eax, ecx
sub eax, edi
mov dword [esp + 0x4c], eax
mov edi, dword [esi + 0x6c]
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea eax, [edi - 1]
test edi, eax
jne 0x4d35af
mov edx, dword [esi + 0x70]
lea eax, [edi*8 + 4]
mov ecx, dword [esi]
push 0
push eax
call fcn.0047d3d0
add esp, 8
mov dword [esi + 0x70], eax
or ecx, 0xffffffff
mov eax, dword [esi + 0x70]
test eax, eax
je 0x4d35bd
mov dword [eax + edi*4], 0xffffffff
sub ecx, edi
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + 0x30]
movzx eax, byte [ecx + 4]
mov edx, dword [ecx + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esi]
mov dword [esp + 0x48], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x40], edx
cmp eax, 0x74
je 0x4d36f2
mov eax, dword [esp + 0x2c]
mov edi, 1
cmp byte [eax + 0x41], 0
jne 0x4d36f2
lea eax, [edx + edx*2]
shl eax, 3
mov dword [esp + 0x44], eax
lea esp, [esp]
mov eax, dword [ecx]
cmp edi, dword [eax]
jg 0x4d36f2
mov edx, dword [esi + 4]
xor ecx, ecx
cmp dword [esp + 0x40], ecx
jle 0x4d3643
mov ebx, dword [esp + 0x40]
add edx, 0x14
lea esp, [esp]
movzx eax, word [edx]
cmp eax, edi
je 0x4d363f
inc ecx
add edx, 0x18
cmp ecx, ebx
jl 0x4d3630
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
cmp ecx, edx
jne 0x4d36c4
mov ecx, dword [esp + 0x2c]
push 0
push 0x31
call fcn.0047d250
mov esi, eax
add esp, 8
test esi, esi
je 0x4d36d8
push 0x31
push 0
push esi
call fcn.0052ebd0
mov edx, dword [esp + 0x24]
add esp, 0xc
mov ecx, dword [esp + 0x24]
or eax, 0xffffffff
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.004af720
mov edx, dword [esp + 0x44]
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
je 0x4d36c4
mov ecx, dword [esp + 0x44]
inc edx
mov eax, dword [esi + 4]
mov dword [esp + 0x40], edx
mov word [eax + ecx + 0x14], di
add ecx, 0x18
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x2c]
inc edi
cmp byte [eax + 0x41], 0
jne 0x4d36f2
mov ecx, dword [esp + 0x1c]
jmp 0x4d3610
mov eax, 7
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x88]
xor ecx, esp
call fcn.0052ab62
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x2c]
lea eax, [edx*4]
push 0
push eax
call fcn.0047d250
add esp, 8
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4d374e
mov edi, dword [esp + 0x40]
xor ecx, ecx
mov edx, dword [esi + 4]
test edi, edi
jle 0x4d3735
add edx, 0x14
mov ebx, eax
movzx eax, word [edx]
lea edx, [edx + 0x18]
dec eax
mov dword [ebx + ecx*4], eax
inc ecx
cmp ecx, edi
jl 0x4d3722
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov edx, edi
push ecx
mov ecx, dword [esp + 0x28]
call fcn.004d1e80
add esp, 4
mov dword [esp + 0x50], eax
jmp 0x4d375a
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x50], 0
mov dword [edi + 0x30], esi
mov edx, esi
mov esi, dword [esp + 0x24]
push 0
mov ecx, dword [esi]
call fcn.004af070
mov ecx, dword [esp + 0x3c]
add esp, 4
cmp dword [esp + 0x48], 0x74
mov dword [ecx + 0x30], eax
jne 0x4d378a
mov dword [esp + 0x28], 0
jmp 0x4d3934
mov eax, dword [edi]
mov edi, dword [eax]
mov eax, dword [esi + 0x48]
mov dword [esp + 0x44], edi
lea ecx, [eax + 1]
inc eax
add eax, edi
mov dword [esp + 0x28], ecx
mov dword [esi + 0x48], eax
mov eax, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4d37b8
mov ecx, ebx
call fcn.0049bb20
test eax, eax
jne 0x4d37ec
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x28]
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
lea esi, [edi*4 + 0x1d]
xor ecx, ecx
add esi, edi
mov eax, esi
or eax, ecx
je 0x4d38b0
test ecx, ecx
ja 0x4d38b0
jb 0x4d3817
cmp esi, 0x7fffff00
jae 0x4d38b0
cmp dword [0x5c4b18], ecx
je 0x4d3861
mov eax, dword [0x5cfa28]
test eax, eax
je 0x4d3832
push eax
call dword [0x5c4b6c]
add esp, 4
lea edx, [esp + 0x18]
mov ecx, esi
call fcn.0047ca70
mov eax, dword [0x5cfa28]
test eax, eax
je 0x4d3857
push eax
call dword [0x5c4b74]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
jmp 0x4d386e
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
jmp 0x4d3871
push esi
call dword [0x5c4b3c]
mov ecx, eax
mov dword [esp + 0x24], eax
add esp, 4
test ecx, ecx
je 0x4d38b6
push esi
push 0
push ecx
call fcn.0052ebd0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [esp + 0x2c]
lea eax, [ecx + 0x18]
mov word [ecx + 6], di
lea eax, [eax + edi*4]
mov dword [ecx + 0x10], eax
mov eax, 1
mov word [ecx + 8], ax
mov al, byte [edx + 0x3e]
mov byte [ecx + 4], al
mov dword [ecx + 0xc], edx
mov dword [ecx], 1
jmp 0x4d38be
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x2c]
mov byte [eax + 0x41], 1
test ecx, ecx
je 0x4d3934
xor esi, esi
test edi, edi
jle 0x4d3934
mov ebx, dword [esp + 0x20]
xor edi, edi
add ecx, 0x14
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x34]
test edx, edx
je 0x4d38f7
mov ecx, dword [esp + 0x24]
push esi
call fcn.004d1e30
mov ecx, dword [esp + 0x18]
add esp, 4
test eax, eax
jne 0x4d3916
jmp 0x4d38f9
xor eax, eax
mov edx, dword [esp + 0x1c]
mov edx, dword [edx]
cmp esi, dword [edx]
jge 0x4d3916
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x24]
mov edx, dword [edx + edi]
call fcn.004adf40
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
add edi, 0x18
mov eax, dword [ebx + 0x10]
add ecx, 4
mov dword [esp + 0x14], ecx
mov byte [esi + eax], 0
inc esi
cmp esi, dword [esp + 0x44]
jl 0x4d38d5
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov edx, esi
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
mov ecx, edi
push str.ORDER
mov dword [esi + 0x34], 0
mov dword [eax + 0x38], 0
push dword [esi + 0x30]
call fcn.004ad470
mov eax, dword [esp + 0x40]
add esp, 8
cmp dword [eax + 0x34], 0
jne 0x4d3980
push str.ORDER
push dword [eax + 0x30]
mov edx, eax
mov ecx, edi
call fcn.004ad470
add esp, 8
push dword [esp + 0x4c]
mov edx, esi
mov ecx, edi
call fcn.004d1c80
add esp, 4
cmp dword [esi + 8], 0
je 0x4d3ab0
cmp dword [esp + 0x48], 0x74
jne 0x4d3ab0
mov eax, dword [edi + 0x48]
inc eax
mov dword [esp + 0x14], eax
inc eax
mov dword [edi + 0x48], eax
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0xc]
lea edi, [eax + 1]
test eax, eax
jne 0x4d39c2
mov edi, dword [esi + 8]
mov eax, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4d39d8
mov ecx, ebx
call fcn.0049bb20
test eax, eax
jne 0x4d3a0a
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x14]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4d3a0e
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4d3a24
mov ecx, ebx
call fcn.0049bb20
test eax, eax
jne 0x4d3a54
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x34]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x3c]
test esi, esi
je 0x4d3b60
test dword [esi + 4], 0x4000
mov edi, dword [esp + 0x2c]
jne 0x4d3b10
mov edx, dword [esi + 0xc]
mov ecx, edi
call fcn.004aeb80
mov edx, dword [esi + 0x10]
mov ecx, edi
call fcn.004aeb80
test dword [esi + 4], 0x10000
je 0x4d3af1
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4d3af1
test edi, edi
je 0x4d3ae8
cmp dword [edi + 0x208], 0
je 0x4d3ac2
mov edx, ecx
mov ecx, edi
call fcn.0047cf90
jmp 0x4d3af1
mov dword [esp + 0x34], 0
mov dword [esp + 0x14], 0
jmp 0x4d3a58
cmp ecx, dword [edi + 0x114]
jb 0x4d3ae8
cmp ecx, dword [edi + 0x118]
jae 0x4d3ae8
mov eax, dword [edi + 0x110]
mov dword [ecx], eax
dec dword [edi + 0xfc]
mov dword [edi + 0x110], ecx
jmp 0x4d3af1
push ecx
call fcn.0047cef0
add esp, 4
test dword [esi + 4], 0x800
mov ecx, edi
mov edx, dword [esi + 0x14]
je 0x4d3b0b
push 1
call fcn.004cec80
add esp, 4
jmp 0x4d3b10
call fcn.004af950
test dword [esi + 4], 0x8000
jne 0x4d3b60
test edi, edi
je 0x4d3b57
cmp dword [edi + 0x208], 0
je 0x4d3b31
mov edx, esi
mov ecx, edi
call fcn.0047cf90
jmp 0x4d3b60
cmp esi, dword [edi + 0x114]
jb 0x4d3b57
cmp esi, dword [edi + 0x118]
jae 0x4d3b57
mov eax, dword [edi + 0x110]
mov dword [esi], eax
dec dword [edi + 0xfc]
mov dword [edi + 0x110], esi
jmp 0x4d3b60
push esi
call fcn.0047cef0
add esp, 4
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x40]
mov dword [eax + 0x3c], 0
test esi, esi
je 0x4d3c61
test dword [esi + 4], 0x4000
mov edi, dword [esp + 0x2c]
jne 0x4d3c11
mov edx, dword [esi + 0xc]
mov ecx, edi
call fcn.004aeb80
mov edx, dword [esi + 0x10]
mov ecx, edi
call fcn.004aeb80
test dword [esi + 4], 0x10000
je 0x4d3bf2
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4d3bf2
test edi, edi
je 0x4d3be9
cmp dword [edi + 0x208], 0
je 0x4d3bc3
mov edx, ecx
mov ecx, edi
call fcn.0047cf90
jmp 0x4d3bf2
cmp ecx, dword [edi + 0x114]
jb 0x4d3be9
cmp ecx, dword [edi + 0x118]
jae 0x4d3be9
mov eax, dword [edi + 0x110]
mov dword [ecx], eax
dec dword [edi + 0xfc]
mov dword [edi + 0x110], ecx
jmp 0x4d3bf2
push ecx
call fcn.0047cef0
add esp, 4
test dword [esi + 4], 0x800
mov ecx, edi
mov edx, dword [esi + 0x14]
je 0x4d3c0c
push 1
call fcn.004cec80
add esp, 4
jmp 0x4d3c11
call fcn.004af950
test dword [esi + 4], 0x8000
jne 0x4d3c61
test edi, edi
je 0x4d3c58
cmp dword [edi + 0x208], 0
je 0x4d3c32
mov edx, esi
mov ecx, edi
call fcn.0047cf90
jmp 0x4d3c61
cmp esi, dword [edi + 0x114]
jb 0x4d3c58
cmp esi, dword [edi + 0x118]
jae 0x4d3c58
mov eax, dword [edi + 0x110]
mov dword [esi], eax
dec dword [edi + 0xfc]
mov dword [edi + 0x110], esi
jmp 0x4d3c61
push esi
call fcn.0047cef0
add esp, 4
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov word [esp + 0x80], 0xd
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [eax + 0x40], 0
inc dword [esi + 0x48]
mov ecx, dword [esi + 0x48]
mov dword [esp + 0x84], ecx
mov word [esp + 0x6c], 0xd
mov dword [esp + 0x74], 0
lea edx, [ecx + 1]
mov dword [esp + 0x78], 0
lea eax, [edx + 2]
mov dword [esp + 0x70], edx
mov dword [esi + 0x48], eax
mov edi, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x10], esi
cmp dword [edi + 0x54], esi
jg 0x4d3d4b
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d3ce7
add eax, eax
jmp 0x4d3cec
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d3dc3
mov eax, dword [edi]
test eax, eax
je 0x4d3d2b
cmp esi, dword [eax + 0x114]
jb 0x4d3d2b
cmp esi, dword [eax + 0x118]
jae 0x4d3d2b
movzx ecx, word [eax + 0xf8]
jmp 0x4d3d37
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x54]
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 + 0x38]
mov eax, dword [esp + 0x14]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x1d4]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x80]
push ecx
mov ecx, eax
call fcn.004d7380
mov edi, dword [ebx + 0x18]
add esp, 4
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x18], eax
cmp dword [edi + 0x54], eax
jg 0x4d3e2d
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d3dcd
add eax, eax
jmp 0x4d3dd2
mov dword [esp + 0x10], 1
jmp 0x4d3d7e
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d3e61
mov eax, dword [edi]
test eax, eax
je 0x4d3e0d
cmp esi, dword [eax + 0x114]
jb 0x4d3e0d
cmp esi, dword [eax + 0x118]
jae 0x4d3e0d
movzx ecx, word [eax + 0xf8]
jmp 0x4d3e19
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x18]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x54]
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 + 0x10]
cmp edx, eax
jbe 0x4d3e76
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 edi, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
mov dword [esp + 0x18], esi
cmp dword [edi + 0x54], esi
jg 0x4d3efe
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d3e9a
add eax, eax
jmp 0x4d3e9f
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d3f8e
mov eax, dword [edi]
test eax, eax
je 0x4d3ede
cmp esi, dword [eax + 0x114]
jb 0x4d3ede
cmp esi, dword [eax + 0x118]
jae 0x4d3ede
movzx ecx, word [eax + 0xf8]
jmp 0x4d3eea
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x18]
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x3c]
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 + 0x1c]
mov edx, ecx
mov eax, dword [esp + 0x34]
mov edi, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 0xc], 0
mov ecx, dword [esp + 0x24]
mov eax, dword [eax + 0x1d4]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x6c]
push eax
call fcn.004d7380
mov eax, dword [esp + 0x20]
add esp, 4
mov dword [eax + 8], edi
mov dword [eax + 0xc], esi
mov edi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x10], eax
cmp dword [edi + 0x54], eax
jg 0x4d3ff8
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d3f98
add eax, eax
jmp 0x4d3f9d
mov dword [esp + 0x18], 1
jmp 0x4d3f31
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d402c
mov eax, dword [edi]
test eax, eax
je 0x4d3fd8
cmp esi, dword [eax + 0x114]
jb 0x4d3fd8
cmp esi, dword [eax + 0x118]
jae 0x4d3fd8
movzx ecx, word [eax + 0xf8]
jmp 0x4d3fe4
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x10]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x3c]
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 + 0x4c]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x2c]
inc eax
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
push esi
push edi
push eax
push dword [esp + 0x78]
lea eax, [esp + 0x94]
push eax
call fcn.004d2ff0
mov dword [esp + 0x28], eax
add esp, 0x18
mov eax, dword [esp + 0x48]
cmp eax, 0x74
je 0x4d406e
cmp eax, 0x73
jne 0x4d4095
push dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x70]
mov ecx, dword [esp + 0x28]
push esi
push edi
push dword [esp + 0x50]
push dword [esp + 0x78]
push eax
call fcn.004d2ff0
add esp, 0x18
mov dword [esp + 0x30], eax
test esi, esi
je 0x4d40a6
dec dword [esi]
jne 0x4d40a6
push esi
call fcn.0047cef0
add esp, 4
mov eax, dword [esp + 0x48]
cmp eax, 0x75
je 0x4d41d1
cmp eax, 0x76
je 0x4d41d1
mov eax, dword [ebx + 0x18]
mov edi, dword [ebx + 0x20]
mov dword [esp + 0x28], edi
cmp dword [eax + 0x54], edi
jg 0x4d40e1
mov ecx, ebx
call fcn.0049bb20
test eax, eax
je 0x4d40e1
mov edi, 1
mov dword [esp + 0x28], edi
jmp 0x4d4115
mov eax, dword [ebx + 4]
lea ecx, [edi + edi*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
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 + 0x18]
mov edx, dword [ebx + 0x20]
mov dword [esp + 0x34], edx
cmp dword [eax + 0x54], edx
jg 0x4d413d
mov ecx, ebx
call fcn.0049bb20
test eax, eax
je 0x4d4139
mov dword [esp + 0x34], 1
jmp 0x4d4171
mov edx, dword [esp + 0x34]
mov eax, dword [ebx + 4]
lea ecx, [edx + edx*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
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 + 0x18]
mov esi, dword [ebx + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4d4187
mov ecx, ebx
call fcn.0049bb20
test eax, eax
jne 0x4d41b7
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
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], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x18]
add dword [edx + 0x18], eax
mov eax, dword [ecx + 0x1c]
adc dword [edx + 0x1c], eax
mov eax, dword [esp + 0x48]
jmp 0x4d41e7
mov ecx, dword [esp + 0x4c]
mov edi, ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], edi
cmp eax, 0x76
jne 0x4d4215
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x20], edi
cmp dword [edx + 0x1c], ecx
jb 0x4d442e
ja 0x4d420a
cmp dword [edx + 0x18], eax
jbe 0x4d442e
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
jmp 0x4d442e
mov edi, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
mov dword [esp + 0x20], esi
cmp dword [edi + 0x54], esi
jg 0x4d4293
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d422f
add eax, eax
jmp 0x4d4234
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d42e2
mov eax, dword [edi]
test eax, eax
je 0x4d4273
cmp esi, dword [eax + 0x114]
jb 0x4d4273
cmp esi, dword [eax + 0x118]
jae 0x4d4273
movzx ecx, word [eax + 0xf8]
jmp 0x4d427f
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x20]
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x3c]
inc edx
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x10]
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 edi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x14], eax
cmp dword [edi + 0x54], eax
jg 0x4d434c
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d42ec
add eax, eax
jmp 0x4d42f1
mov dword [esp + 0x20], 1
jmp 0x4d42c8
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d4380
mov ecx, dword [edi]
test ecx, ecx
je 0x4d432c
cmp esi, dword [ecx + 0x114]
jb 0x4d432c
cmp esi, dword [ecx + 0x118]
jae 0x4d432c
movzx ecx, word [ecx + 0xf8]
jmp 0x4d4338
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x14]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
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 edi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x14], eax
cmp dword [edi + 0x54], eax
jg 0x4d43fa
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d439a
add eax, eax
jmp 0x4d439f
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d442e
mov ecx, dword [edi]
test ecx, ecx
je 0x4d43da
cmp esi, dword [ecx + 0x114]
jb 0x4d43da
cmp esi, dword [ecx + 0x118]
jae 0x4d43da
movzx ecx, word [ecx + 0xf8]
jmp 0x4d43e6
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x14]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x20]
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 edi, dword [ebx + 0x18]
mov esi, dword [ebx + 0x20]
mov dword [esp + 0x14], esi
cmp dword [edi + 0x54], esi
jg 0x4d44ac
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d4448
add eax, eax
jmp 0x4d444d
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d44fb
mov ecx, dword [edi]
test ecx, ecx
je 0x4d448c
cmp esi, dword [ecx + 0x114]
jb 0x4d448c
cmp esi, dword [ecx + 0x118]
jae 0x4d448c
movzx ecx, word [ecx + 0xf8]
jmp 0x4d4498
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x3c]
inc edx
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x10]
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 edi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x10], eax
cmp dword [edi + 0x54], eax
jg 0x4d4565
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d4505
add eax, eax
jmp 0x4d450a
mov dword [esp + 0x14], 1
jmp 0x4d44e1
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d4599
mov ecx, dword [edi]
test ecx, ecx
je 0x4d4545
cmp esi, dword [ecx + 0x114]
jb 0x4d4545
cmp esi, dword [ecx + 0x118]
jae 0x4d4545
movzx ecx, word [ecx + 0xf8]
jmp 0x4d4551
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x10]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x54]
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 edi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x10], eax
cmp dword [edi + 0x54], eax
jg 0x4d4613
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d45b3
add eax, eax
jmp 0x4d45b8
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d4647
mov ecx, dword [edi]
test ecx, ecx
je 0x4d45f3
cmp esi, dword [ecx + 0x114]
jb 0x4d45f3
cmp esi, dword [ecx + 0x118]
jae 0x4d45f3
movzx ecx, word [ecx + 0xf8]
jmp 0x4d45ff
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x10]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x58]
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 + 0x48]
cmp eax, 0x74
jne 0x4d465d
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
jmp 0x4d4716
cmp eax, 0x76
jne 0x4d4674
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
inc eax
mov dword [esp + 0x14], eax
jmp 0x4d4716
mov eax, dword [ebx + 0x18]
mov edi, dword [ebx + 0x20]
mov dword [esp + 0x10], edi
cmp dword [eax + 0x54], edi
jg 0x4d4698
mov ecx, ebx
call fcn.0049bb20
test eax, eax
je 0x4d4698
mov dword [esp + 0x10], 1
jmp 0x4d46cc
mov eax, dword [ebx + 4]
lea ecx, [edi + edi*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x54]
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 + 0x18]
mov esi, dword [ebx + 0x20]
cmp dword [eax + 0x54], esi
jg 0x4d46e2
mov ecx, ebx
call fcn.0049bb20
test eax, eax
jne 0x4d4716
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x58]
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 + 0x48]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x28], eax
cmp ecx, 0x74
je 0x4d472f
cmp ecx, 0x73
jne 0x4d47d6
mov edi, dword [ebx + 0x18]
cmp dword [edi + 0x54], eax
jg 0x4d47a2
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d4742
add eax, eax
jmp 0x4d4747
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d47d6
mov eax, dword [edi]
test eax, eax
je 0x4d4782
cmp esi, dword [eax + 0x114]
jb 0x4d4782
cmp esi, dword [eax + 0x118]
jae 0x4d4782
movzx ecx, word [eax + 0xf8]
jmp 0x4d478e
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
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]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x30]
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 edi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x30], eax
cmp dword [edi + 0x54], eax
jg 0x4d4850
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d47f0
add eax, eax
jmp 0x4d47f5
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d4884
mov eax, dword [edi]
test eax, eax
je 0x4d4830
cmp esi, dword [eax + 0x114]
jb 0x4d4830
cmp esi, dword [eax + 0x118]
jae 0x4d4830
movzx ecx, word [eax + 0xf8]
jmp 0x4d483c
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x30]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
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 edi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x30], eax
cmp dword [edi + 0x54], eax
jg 0x4d48fe
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d489e
add eax, eax
jmp 0x4d48a3
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d4932
mov eax, dword [edi]
test eax, eax
je 0x4d48de
cmp esi, dword [eax + 0x114]
jb 0x4d48de
cmp esi, dword [eax + 0x118]
jae 0x4d48de
movzx ecx, word [eax + 0xf8]
jmp 0x4d48ea
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x30]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x58]
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 + 0x18]
cmp edx, eax
jbe 0x4d4947
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x20]
dec ecx
mov dword [eax + 0x58], ecx
mov edi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x18], eax
cmp dword [edi + 0x54], eax
jg 0x4d49cb
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d496b
add eax, eax
jmp 0x4d4970
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d49ff
mov eax, dword [edi]
test eax, eax
je 0x4d49ab
cmp esi, dword [eax + 0x114]
jb 0x4d49ab
cmp esi, dword [eax + 0x118]
jae 0x4d49ab
movzx ecx, word [eax + 0xf8]
jmp 0x4d49b7
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x18]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x54]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x34]
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 edi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x18], eax
cmp dword [edi + 0x54], eax
jg 0x4d4a79
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d4a19
add eax, eax
jmp 0x4d4a1e
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d4aad
mov eax, dword [edi]
test eax, eax
je 0x4d4a59
cmp esi, dword [eax + 0x114]
jb 0x4d4a59
cmp esi, dword [eax + 0x118]
jae 0x4d4a59
movzx ecx, word [eax + 0xf8]
jmp 0x4d4a65
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x18]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
inc dword [ebx + 0x20]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
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 ecx, 0xffffffff
sub ecx, dword [esp + 0x58]
js 0x4d4ac6
mov edx, dword [esi + 0x70]
test edx, edx
je 0x4d4ac6
mov eax, dword [ebx + 0x20]
mov dword [edx + ecx*4], eax
mov eax, dword [ebx + 0x20]
dec eax
mov dword [esi + 0x58], eax
mov edi, dword [ebx + 0x18]
mov edx, dword [ebx + 0x20]
mov dword [esp + 0x18], edx
cmp dword [edi + 0x54], edx
jg 0x4d4b4b
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d4ae7
add eax, eax
jmp 0x4d4aec
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d4bbc
mov eax, dword [edi]
test eax, eax
je 0x4d4b2b
cmp esi, dword [eax + 0x114]
jb 0x4d4b2b
cmp esi, dword [eax + 0x118]
jae 0x4d4b2b
movzx ecx, word [eax + 0xf8]
jmp 0x4d4b37
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov edx, dword [esp + 0x18]
mov dword [ebx + 4], esi
mov eax, dword [ebx + 4]
lea ecx, [edx + edx*4]
inc dword [ebx + 0x20]
mov word [eax + ecx*4], 0x29
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
push 0xfffffffffffffff1
push dword [esp + 0x60]
mov ecx, ebx
call fcn.0049c3b0
mov edi, dword [ebx + 0x18]
add esp, 8
mov eax, dword [esp + 0x74]
mov edx, dword [ebx + 0x20]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x18], eax
mov dword [esp + 0x5c], edx
cmp dword [edi + 0x54], edx
jg 0x4d4c27
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d4bc3
add eax, eax
jmp 0x4d4bc8
mov edx, 1
jmp 0x4d4b7f
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d4c97
mov eax, dword [edi]
test eax, eax
je 0x4d4c07
cmp esi, dword [eax + 0x114]
jb 0x4d4c07
cmp esi, dword [eax + 0x118]
jae 0x4d4c07
movzx ecx, word [eax + 0xf8]
jmp 0x4d4c13
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
shr edx, 4
mov dword [edi + 0x54], edx
mov edx, dword [esp + 0x5c]
mov dword [ebx + 4], esi
mov eax, dword [ebx + 4]
lea ecx, [edx + edx*4]
inc dword [ebx + 0x20]
mov esi, dword [esp + 0x18]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x30]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x40]
mov word [eax + ecx*4], 0x2a
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffffa
push dword [esp + 0x54]
mov ecx, ebx
call fcn.0049c3b0
mov ecx, dword [ebx + 4]
add esp, 8
test ecx, ecx
je 0x4d4c7d
mov eax, dword [ebx + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 1
mov edi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x50], eax
cmp dword [edi + 0x54], eax
jg 0x4d4cfe
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4d4c9e
add eax, eax
jmp 0x4d4ca3
mov edx, 1
jmp 0x4d4c5b
mov eax, 0x33
mov edx, dword [ebx + 4]
lea eax, [eax + eax*4]
mov ecx, dword [edi]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov esi, eax
add esp, 8
test esi, esi
je 0x4d4d32
mov eax, dword [edi]
test eax, eax
je 0x4d4cde
cmp esi, dword [eax + 0x114]
jb 0x4d4cde
cmp esi, dword [eax + 0x118]
jae 0x4d4cde
movzx ecx, word [eax + 0xf8]
jmp 0x4d4cea
push esi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
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]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x14]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x28]
mov word [eax + ecx*4], 0x2b
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 + 0x18]
or esi, 0xffffffff
sub esi, dword [esp + 0x4c]
js 0x4d4d4b
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x4d4d4b
mov eax, dword [ebx + 0x20]
mov dword [ecx + esi*4], eax
mov eax, dword [ebx + 0x20]
mov esi, dword [esp + 0x38]
dec eax
mov dword [edx + 0x58], eax
mov eax, dword [esp + 0x68]
cmp byte [eax], 9
jne 0x4d4d85
mov eax, dword [esi + 0x34]
mov ecx, esi
test eax, eax
je 0x4d4d71
mov ecx, eax
mov eax, dword [ecx + 0x34]
test eax, eax
jne 0x4d4d68
push dword [ecx]
mov edi, dword [esp + 0x28]
xor edx, edx
mov ecx, edi
call fcn.004d1460
add esp, 4
jmp 0x4d4d89
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx + 0x34]
test edx, edx
je 0x4d4da2
mov ecx, dword [esp + 0x2c]
push 1
call fcn.004cec80
add esp, 4
mov dword [ebx + 0x34], esi
mov dword [esi + 0x38], ebx
cmp byte [edi + 0x1c2], 2
jne 0x4d4ed4
movzx eax, byte [ebx + 4]
mov esi, dword [edi + 8]
sub eax, 0x74
je 0x4d4ddc
dec eax
je 0x4d4dd5
dec eax
je 0x4d4dce
mov eax, str.UNION
jmp 0x4d4de1
mov eax, str.INTERSECT
jmp 0x4d4de1
mov eax, str.EXCEPT
jmp 0x4d4de1
mov eax, str.UNION_ALL
push eax
push 0x592b28
push dword [esp + 0x68]
push dword [esp + 0x70]
push str.COMPOUND_SUBQUERIES__d_AND__d__s__s_
push dword [edi]
call fcn.0047ed30
mov ecx, dword [esi + 0x18]
add esp, 0x18
mov ebx, dword [esi + 0x20]
mov dword [esp + 0x60], eax
mov eax, dword [edi + 0x1d0]
mov dword [esp + 0x64], eax
mov dword [esp + 0x50], ecx
cmp dword [ecx + 0x54], ebx
jg 0x4d4e8e
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4d4e26
add eax, eax
jmp 0x4d4e2b
mov eax, 0x33
mov edx, dword [esi + 4]
lea eax, [eax + eax*4]
mov ecx, dword [ecx]
shl eax, 2
push 0
push eax
call fcn.0047d2f0
mov edi, eax
add esp, 8
test edi, edi
je 0x4d4eeb
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
test eax, eax
je 0x4d4e6e
cmp edi, dword [eax + 0x114]
jb 0x4d4e6e
cmp edi, dword [eax + 0x118]
jae 0x4d4e6e
movzx ecx, word [eax + 0xf8]
jmp 0x4d4e7a
push edi
call dword [0x5c4b48]
mov ecx, eax
add esp, 4
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x50]
shr edx, 4
mov dword [eax + 0x54], edx
mov dword [esi + 4], edi
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov edx, dword [esp + 0x64]
mov word [eax + ecx*4], 0x9b
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 0xffffffffffffffff
push dword [esp + 0x64]
mov edx, ebx
mov ecx, esi
call fcn.0049c3b0
add esp, 8
mov ecx, dword [esp + 0x94]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0052ab62
mov esp, ebp
pop ebp
ret
mov ebx, 1
jmp 0x4d4ec2