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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x128
xor eax, eax
mov dword [esp + 0xc4], 0
push esi
mov esi, ecx
mov dword [esp + 0x5c], eax
push edi
mov edi, edx
mov dword [esp + 0x48], eax
xor edx, edx
mov dword [esp + 0xa0], eax
xorps xmm0, xmm0
mov dword [esp + 0x88], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x44], eax
mov eax, dword [esi]
mov dword [esp + 0x70], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0xb0], 0
mov dword [esp + 0x9c], edx
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x3c], edx
mov dword [esp + 0xa4], edx
mov dword [esp + 0xac], 1
movq qword [esp + 0xc0], xmm0
mov dword [esp + 0x94], eax
cmp dword [esi + 0x24], edx
jne 0x4dd392
cmp byte [eax + 0x51], dl
jne 0x4dd392
mov edx, edi
call fcn.004bfae0
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x4df10c
mov ecx, dword [edi + 0x48]
mov dword [esp + 0x30], 0xffff8000
test ecx, ecx
je 0x4dce4d
mov eax, dword [esi]
xor edx, edx
mov dword [esp + 0x30], edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x4dce4d
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x4dce41
mov dword [esp + 0x30], edx
lea eax, [esp + 0xc8]
mov edx, edi
push eax
push dword [ebp + 8]
mov ecx, esi
push 0x7f
call fcn.004dbee0
mov dword [esp + 0x68], eax
add esp, 0xc
mov eax, dword [edi + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x70]
cmp dword [eax], 1
jle 0x4dce85
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
jmp 0x4dce8d
mov dword [esp + 0x28], 0
mov edx, edi
mov ecx, esi
call fcn.004bb8c0
test eax, eax
jne 0x4df10c
push dword [esp + 0xc8]
mov edx, edi
mov ecx, esi
call fcn.004bfbf0
add esp, 4
test eax, eax
jne 0x4df10c
mov eax, dword [esi + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 0x98], eax
lea edx, [eax + 1]
mov dword [esi + 0x28], edx
test byte [edi + 0x24], 0x80
mov dword [esp + 0xa8], edx
jne 0x4dcee4
mov dword [esp + 0x38], 0
jmp 0x4dceef
mov ecx, edi
call fcn.004b94b0
mov dword [esp + 0x38], eax
mov eax, dword [edi + 8]
xor ecx, ecx
mov dword [esp + 0x8c], ecx
test eax, eax
je 0x4dcf25
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x38], eax
cmove edi, edx
inc edx
mov dword [esi + 0x28], edx
inc ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4dcf03
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x8c], ecx
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x4dcf50
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x1c]
mov edx, dword [esp + 0x98]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], eax
mov dword [esi + 0x28], edx
jmp 0x4dcf54
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x70]
push 0
mov dword [edx + 0x34], eax
movsx eax, word [edi + 0x2a]
add eax, ecx
lea eax, [eax*4 + 6]
add eax, ecx
mov ecx, dword [esp + 0x98]
push eax
call fcn.00476a20
mov edx, eax
add esp, 8
mov dword [esp + 0x24], edx
test edx, edx
je 0x4dd392
movsx eax, word [edi + 0x2a]
lea ecx, [edx + eax*4]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x84], ecx
lea ecx, [ecx + eax*4]
inc eax
push eax
add ecx, 4
push 1
push ecx
mov dword [esp + 0x88], ecx
call fcn.005cc450
mov eax, dword [esp + 0x98]
add esp, 0xc
mov ecx, dword [esp + 0x7c]
mov byte [ecx + eax + 1], 0
xor eax, eax
xor ecx, ecx
cmp ax, word [edi + 0x2a]
jge 0x4dcff4
mov esi, dword [esp + 0x24]
nop word [eax + eax]
mov dword [esi + ecx*4], 0xffffffff
inc ecx
movsx eax, word [edi + 0x2a]
cmp ecx, eax
jl 0x4dcfe0
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x70]
xorps xmm0, xmm0
movaps xmmword [esp + 0x110], xmm0
mov dword [esp + 0x114], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x118], eax
mov eax, dword [esi + 8]
movaps xmmword [esp + 0x120], xmm0
mov dword [esp + 0x110], esi
mov dword [esp + 0x128], 0x200
mov dword [esp + 0xc], eax
test eax, eax
jne 0x4dd05d
cmp dword [esi + 0x74], eax
jne 0x4dd04a
mov eax, dword [esi]
test byte [eax + 0x4c], 8
jne 0x4dd04a
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.00495690
mov dword [esp + 0xc], eax
test eax, eax
je 0x4dd38e
mov ecx, dword [ebp + 8]
xor esi, esi
xor al, al
mov byte [esp + 0x43], 0
mov byte [esp + 0x1f], al
mov dword [esp + 0x54], esi
cmp dword [ecx], esi
jle 0x4dd25e
mov edi, ecx
lea ecx, [edi + 4]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x28], 0
jne 0x4dd0a3
mov edx, dword [ecx]
lea ecx, [esp + 0x110]
call fcn.004ab0f0
test eax, eax
jne 0x4dd40d
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
xor edi, edi
movsx eax, word [edx + 0x2a]
test eax, eax
jle 0x4dd19c
mov eax, dword [edx + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0xb8], eax
mov esi, dword [ecx + 4]
mov edx, dword [eax]
sub esi, edx
nop word [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4dd111
test ecx, ecx
jne 0x4dd123
mov edx, dword [esp + 0x14]
movsx eax, word [edx + 0x28]
cmp edi, eax
jne 0x4dd152
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x54]
mov byte [esp + 0x1f], 1
mov dword [esp + 0x78], esi
mov eax, dword [ecx]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x24]
mov dword [eax + edi*4], esi
jmp 0x4dd1a0
movzx eax, byte [eax + 0x660e20]
movzx ecx, byte [ecx + 0x660e20]
sub ecx, eax
jne 0x4dd126
inc edx
jmp 0x4dd0d0
mov edx, dword [esp + 0x14]
inc edi
mov eax, dword [esp + 0xb8]
add eax, 0x14
mov dword [esp + 0xb8], eax
movsx ecx, word [edx + 0x2a]
cmp edi, ecx
mov ecx, dword [esp + 0x2c]
jl 0x4dd0c3
mov esi, dword [esp + 0x54]
jmp 0x4dd1a0
cmp dword [esp + 0x38], 0
mov ecx, dword [esp + 0x34]
je 0x4dd17d
lea eax, [edi + edi*4]
test byte [ecx + eax*4 + 0x10], 1
je 0x4dd17d
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x43], 1
mov dword [eax + edi*4], esi
jmp 0x4dd1a0
lea eax, [edi + edi*4]
test byte [ecx + eax*4 + 0x10], 0x60
jne 0x4dd374
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x2c]
mov dword [eax + edi*4], esi
jmp 0x4dd1a0
mov ecx, dword [esp + 0x2c]
movsx eax, word [edx + 0x2a]
cmp edi, eax
jl 0x4dd1e3
cmp dword [esp + 0x38], 0
jne 0x4dd3ed
mov ecx, dword [ecx + 4]
call fcn.004adc40
test eax, eax
je 0x4dd3ed
mov eax, dword [esp + 0x2c]
or edi, 0xffffffff
mov byte [esp + 0x1f], 1
mov edx, 0x6696d0
mov dword [esp + 0x78], esi
mov eax, dword [eax]
mov dword [esp + 0x9c], eax
jmp 0x4dd1f7
test edi, edi
jns 0x4dd1ee
mov edx, 0x6696d0
jmp 0x4dd1f7
mov eax, dword [edx + 4]
lea ecx, [edi + edi*4]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x30]
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, 0x17
push dword [eax]
call fcn.004b8240
add esp, 0xc
cmp eax, 1
je 0x4dd38e
cmp eax, 2
jne 0x4dd23b
mov eax, dword [esp + 0x24]
mov dword [eax + edi*4], 0xffffffff
mov edi, dword [ebp + 8]
inc esi
mov ecx, dword [esp + 0x2c]
add ecx, 0x14
mov dword [esp + 0x54], esi
mov dword [esp + 0x2c], ecx
cmp esi, dword [edi]
jl 0x4dd082
mov edi, dword [esp + 0x14]
mov al, byte [esp + 0x1f]
mov dl, byte [esp + 0x43]
add dl, al
test byte [edi + 0x24], 0x60
mov byte [esp + 0x54], dl
je 0x4dd35f
xor ecx, ecx
xor eax, eax
xor esi, esi
mov dword [esp + 0x34], ecx
cmp ax, word [edi + 0x2a]
jge 0x4dd35b
xor edi, edi
nop dword [eax + eax]
mov eax, dword [esp + 0x24]
cmp dword [eax + esi*4], 0
jge 0x4dd33b
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
test byte [eax + edi + 0x10], 0x60
je 0x4dd33b
mov edx, dword [eax + edi + 4]
xorps xmm0, xmm0
mov ecx, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0xe8], 0
movaps xmmword [esp + 0xd0], xmm0
movq qword [esp + 0xe0], xmm0
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x34]
mov word [esp + 0xe4], ax
mov dword [esp + 0xd4], 0x4c75d0
test edx, edx
je 0x4dd313
lea ecx, [esp + 0xd0]
call fcn.004a8aa0
mov ax, word [esp + 0xe4]
mov ecx, dword [esp + 0x34]
cmp byte [esp + 0x1f], 0
jne 0x4dd322
mov edx, 0xfffd
and ax, dx
test ax, ax
je 0x4dd33b
mov eax, dword [esp + 0x24]
mov ecx, 1
mov dword [esp + 0x34], ecx
mov dword [eax + esi*4], 0x1869f
mov eax, dword [esp + 0x14]
inc esi
add edi, 0x14
movsx eax, word [eax + 0x2a]
cmp esi, eax
jl 0x4dd290
mov edi, dword [esp + 0x14]
test ecx, ecx
jne 0x4dd272
mov dl, byte [esp + 0x54]
cmp dword [edi + 0x38], 0
je 0x4dd413
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x4dd42d
mov eax, dword [edx + 4]
lea ecx, [edi + edi*4]
push dword [eax + ecx*4]
push 0x66c528
push dword [esp + 0x20]
call fcn.00479ca0
add esp, 0xc
mov edx, dword [esp + 0x24]
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0xc4]
test ecx, ecx
je 0x4dd3ad
mov eax, dword [esp + 0xc0]
mov dword [ecx + 0xf4], eax
mov esi, dword [esp + 0x94]
test edx, edx
je 0x4dd3bf
mov ecx, esi
call fcn.00476790
mov edx, dword [esp + 0x70]
mov ecx, esi
call fcn.004bdf40
test edi, edi
je 0x4dd3d7
mov edx, edi
mov ecx, esi
call fcn.004ad5b0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4dd3e7
mov edx, eax
mov ecx, esi
call fcn.004ac4d0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x18]
push dword [edi + eax*4 + 8]
push 0x66c54c
push esi
call fcn.00479ca0
add esp, 0xc
mov byte [esi + 0x11], 1
mov edx, dword [esp + 0x24]
jmp 0x4dd395
xorps xmm0, xmm0
movlpd qword [esp + 0xb8], xmm0
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
mov esi, dword [esp + 0x70]
mov dword [esi + 0x40], eax
movzx eax, dl
mov edx, edi
push eax
push dword [esp + 0x28]
mov dword [esi + 0x44], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xc0], eax
call fcn.004c5de0
mov ecx, eax
add esp, 8
cmp dword [ebp + 0x10], 5
mov edx, 1
mov eax, dword [esp + 0x88]
cmove eax, edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x88], eax
xor edi, edi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], edi
mov esi, dword [eax + 8]
test esi, esi
je 0x4dd61f
nop dword [eax]
cmp byte [esp + 0x54], 0
jne 0x4dd81f
cmp ecx, 1
jg 0x4dd81f
cmp esi, dword [esp + 0x38]
je 0x4dd81f
mov edx, dword [esi + 0x24]
test edx, edx
je 0x4dd527
xorps xmm0, xmm0
mov dword [esp + 0xe8], 0
xor eax, eax
movq qword [esp + 0xe0], xmm0
mov word [esp + 0xe4], ax
lea ecx, [esp + 0xd0]
mov eax, dword [esp + 0x24]
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xd4], 0x4c75d0
mov dword [esp + 0xe8], eax
call fcn.004a8aa0
cmp byte [esp + 0x1f], 0
mov cx, word [esp + 0xe4]
jne 0x4dd517
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
setne al
test eax, eax
jne 0x4dd81f
xor ecx, ecx
xor eax, eax
xor edi, edi
mov dword [esp + 0x74], ecx
cmp ax, word [esi + 0x32]
jae 0x4dd5f4
mov dword [esp + 0x34], ecx
nop
mov eax, dword [esi + 4]
movzx eax, word [eax + edi*2]
test ax, ax
js 0x4dd55b
mov edx, dword [esp + 0x24]
cwde
mov eax, dword [edx + eax*4]
not eax
shr eax, 0x1f
jmp 0x4dd5d4
mov eax, dword [esi + 0x28]
xorps xmm0, xmm0
movaps xmmword [esp + 0xf0], xmm0
movq qword [esp + 0x100], xmm0
mov dword [esp + 0x108], 0
mov edx, dword [eax + ecx + 4]
xor ecx, ecx
mov eax, dword [esp + 0x24]
mov word [esp + 0x104], cx
mov dword [esp + 0xf4], 0x4c75d0
mov dword [esp + 0x108], eax
test edx, edx
je 0x4dd5b9
lea ecx, [esp + 0xf0]
call fcn.004a8aa0
mov cx, word [esp + 0x104]
cmp byte [esp + 0x1f], 0
jne 0x4dd5c8
mov eax, 0xfffd
and cx, ax
xor eax, eax
test cx, cx
mov ecx, dword [esp + 0x34]
setne al
test eax, eax
jne 0x4dd7ef
movzx eax, word [esi + 0x32]
inc edi
add ecx, 0x14
mov dword [esp + 0x34], ecx
cmp edi, eax
jl 0x4dd540
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x6c]
mov eax, dword [esp + 0x7c]
mov byte [edi + eax + 1], 0
mov eax, dword [esp + 0x84]
mov dword [eax + edi*4], ecx
inc edi
mov esi, dword [esi + 0x14]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x6c], edi
test esi, esi
jne 0x4dd490
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x84]
inc dword [ecx + 0x2c]
mov eax, dword [ecx + 0x2c]
mov dword [edx + edi*4], eax
cmp dword [esp + 0x88], 0
je 0x4dd65b
mov eax, dword [esp + 0x8c]
inc eax
push eax
push 1
push dword [esp + 0x84]
call fcn.005cc450
mov ecx, dword [esp + 0x24]
add esp, 0xc
cmp byte [ecx + 0x12], 0
jne 0x4dd66c
mov eax, dword [esp + 0xc]
or dword [eax + 0x98], 0x10
cmp dword [esp + 0x5c], 0
jne 0x4dd682
cmp dword [esp + 0x64], 0
mov dword [esp + 0x34], 0
je 0x4dd68a
mov dword [esp + 0x34], 1
mov eax, dword [ecx + 0x74]
mov edx, ecx
test eax, eax
mov esi, ecx
mov ecx, dword [esp + 0x30]
cmovne edx, eax
cmovne esi, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x54]
test edi, eax
jne 0x4dd6c1
bts edi, ecx
mov dword [edx + 0x54], edi
cmp ecx, 1
jne 0x4dd6c1
mov ecx, edx
call fcn.004be530
mov ecx, dword [esp + 0x30]
mov eax, dword [esi + 0x50]
mov edx, dword [esp + 0x14]
bts eax, ecx
mov dword [esi + 0x50], eax
mov eax, dword [esp + 0x34]
or byte [esi + 0x14], al
cmp dword [edx + 0x38], 0
mov esi, dword [esp + 0x18]
jne 0x4dd758
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x5c]
mov eax, dword [ecx + eax*4]
inc dword [esi + 0x2c]
cmp byte [esp + 0x43], 0
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x20], ecx
jne 0x4dd719
test edi, edi
jne 0x4dd719
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4dd72d
lea eax, [ecx + 1]
mov dword [esp + 0x68], eax
movsx eax, word [edx + 0x2a]
add eax, ecx
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x64]
cmp byte [esp + 0x54], 0
jne 0x4dd73c
test edi, edi
jne 0x4dd73c
test eax, eax
je 0x4dd746
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esp + 0x90], eax
movsx eax, word [edx + 0x2a]
add dword [esi + 0x2c], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4dd780
mov eax, dword [esi + 0xf4]
mov dword [esp + 0xc0], eax
mov eax, dword [edx]
mov dword [esi + 0xf4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc4], esi
cmp dword [esp + 0x28], 0
mov edi, dword [ebp + 0xc]
jne 0x4dd7bb
test eax, eax
je 0x4dd7a1
push dword [esp + 0x10]
mov ecx, esi
push 0
push 0
push edi
call fcn.004bfc40
add esp, 0x10
mov edx, edi
lea ecx, [esp + 0x110]
call fcn.004ab0f0
test eax, eax
jne 0x4dd38e
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x38], 0
je 0x4dd83f
push dword [ebp + 0x10]
mov ecx, esi
push edi
push dword [esp + 0x2c]
mov edi, dword [ebp + 8]
push dword [esp + 0xa8]
push edi
push edx
mov edx, dword [esp + 0x88]
call fcn.004df120
mov edx, dword [esp + 0x3c]
add esp, 0x18
jmp 0x4dd395
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x6c]
inc dword [edx + 0x2c]
movzx eax, word [esi + 0x34]
mov ecx, dword [edx + 0x2c]
add eax, ecx
cmp dword [ebp + 0x10], 0xb
mov dword [edx + 0x2c], eax
jne 0x4dd832
cmp byte [esi + 0x36], 5
jne 0x4dd832
mov dword [esp + 0x88], 1
jmp 0x4dd832
mov edx, dword [esp + 0x18]
inc dword [edx + 0x2c]
movzx eax, word [esi + 0x34]
mov ecx, dword [edx + 0x2c]
add eax, ecx
mov dword [edx + 0x2c], eax
test ecx, ecx
jne 0x4dd601
jmp 0x4dd5f8
mov eax, dword [esp + 0x94]
dec dword [esi + 0x38]
mov edi, dword [esi + 0x38]
mov dword [esp + 0x2c], edi
mov ecx, dword [eax + 0x24]
xor eax, eax
and ecx, 1
mov dword [esp + 0x4c], edi
or eax, ecx
je 0x4dd8e5
cmp dword [esi + 0x78], 0
jne 0x4dd8e5
cmp byte [esi + 0x12], 0
jne 0x4dd8e5
cmp dword [ebp + 0x1c], 0
jne 0x4dd8e5
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov esi, dword [esp + 0xc]
mov dword [esp + 0xb4], eax
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4dd8a9
push 0
push eax
push 0
mov edx, 0x45
mov ecx, esi
call fcn.004959f0
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x4dd8e9
mov edi, dword [esp + 0xb4]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x45
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4dd8e9
mov esi, dword [esp + 0xc]
cmp dword [esp + 0x28], 0
jne 0x4dd95a
test byte [edx + 0x24], 0x80
jne 0x4dd95a
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4dd91f
push dword [esp + 0x20]
mov edx, 0x48
mov ecx, esi
push dword [esp + 0x84]
push 0
call fcn.004959f0
add esp, 0xc
jmp 0x4ddb5a
mov edx, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4ddb5a
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4dd968
movzx eax, word [eax + 0x32]
jmp 0x4dd96a
xor eax, eax
mov ecx, dword [esp + 0x18]
movsx edi, ax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x28]
mov esi, dword [ecx + 0x2c]
inc eax
add eax, edi
mov dword [esp + 0x34], edi
add dword [ecx + 0x2c], eax
inc esi
cmp dword [ebp + 0x1c], 0
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
jne 0x4ddb17
cmp dword [esp + 0x58], 0
je 0x4dd9ac
movsx eax, word [edx + 0x2a]
jmp 0x4dd9ae
xor eax, eax
lea esi, [eax + edi]
mov eax, dword [ecx + 0x28]
add esi, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
inc eax
cmp dword [esp + 0x38], 0
mov dword [ecx + 0x28], eax
je 0x4dda2b
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x48]
dec edx
add edx, edi
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x4dd9f2
push edx
push dword [esp + 0x4c]
mov edx, 0x48
mov ecx, eax
push 0
call fcn.004959f0
add esp, 0xc
jmp 0x4dda2b
mov edi, dword [esp + 0xc]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edi + 0x6c], eax
mov eax, edi
mov edi, dword [esp + 0x48]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x34]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x6c]
mov dword [esp + 0x60], edx
cmp dword [ecx + 0x70], edx
jg 0x4dda55
push 0
push esi
push dword [esp + 0x44]
mov edx, 0x64
call fcn.004959f0
add esp, 0xc
mov dword [esp + 0x60], eax
jmp 0x4dda88
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4ddad7
mov ecx, dword [esp + 0x18]
mov edx, eax
call fcn.004bedb0
mov edx, eax
test edx, edx
je 0x4ddad3
mov word [edx + 8], si
mov esi, dword [esp + 0xc]
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x4ddac1
push edx
mov edx, 0xfffffff7
call fcn.00496640
add esp, 4
jmp 0x4ddad3
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x28], 0
mov ecx, dword [esp + 0x18]
je 0x4ddb13
mov edx, dword [esp + 0x70]
sub esp, 8
push dword [ebp + 0xc]
push edx
push dword [ebp + 8]
mov edx, dword [esp + 0x50]
push eax
call fcn.004dc9e0
mov eax, dword [esp + 0x28]
add esp, 0x18
cmp dword [esp + 0x58], 0
mov ecx, dword [esp + 0x18]
cmovne eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x48]
cmp dword [esp + 0x28], 0
je 0x4ddb52
mov eax, dword [ecx + 0x74]
test eax, eax
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0xc0]
cmovne ecx, eax
xor eax, eax
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x30], eax
mov byte [ecx + 0x14], 1
mov dword [esp + 0x34], esi
jmp 0x4ddefb
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x2c]
cmp dword [ebp + 0x1c], 0
je 0x4ddbab
push 0x10
push edi
push dword [ebp + 0xc]
mov dword [esp + 0xbc], 0
push dword [esp + 0x24]
mov dword [esp + 0x40], 1
call fcn.004b22e0
mov edi, dword [esp + 0xd4]
add esp, 0x10
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xac], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x34], eax
jmp 0x4ddc6b
mov ecx, dword [esp + 0x18]
mov eax, 0x1004
cmp byte [ecx + 0x12], 0
jne 0x4ddbdf
cmp dword [esp + 0x5c], 0
jne 0x4ddbdf
cmp dword [esp + 0x64], 0
jne 0x4ddbdf
cmp byte [esp + 0x54], 0
jne 0x4ddbdf
cmp dword [esp + 0x88], 0
mov edx, 0x100c
cmove eax, edx
push dword [esp + 0xa8]
mov edx, dword [esp + 0x74]
push eax
push 0
push 0
push dword [ebp + 0xc]
call fcn.004ed370
mov ecx, eax
add esp, 0x14
mov dword [esp + 0xb0], ecx
test ecx, ecx
je 0x4dd38e
mov eax, dword [ecx + 0x14]
movzx edx, byte [ecx + 0x2e]
mov edi, dword [ecx + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 0x30]
and eax, 1
mov dword [esp + 0x74], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0xac], eax
cmp edx, 1
je 0x4ddc6b
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x74]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x14], 1
cmp edx, 2
jne 0x4ddc6b
test edi, edi
js 0x4ddc6b
mov eax, dword [esp + 0x10]
cmp edi, eax
je 0x4ddc6f
mov eax, dword [esp + 0x7c]
xor ecx, ecx
sub eax, dword [esp + 0x98]
cmp byte [eax + edi], cl
cmovne edx, ecx
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test byte [ecx + 0x24], 0x80
jne 0x4ddd5d
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4ddca1
push 0
push dword [esp + 0x24]
mov edx, 0x7f
mov ecx, esi
push eax
call fcn.004959f0
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x4ddcd4
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x7f
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 + 0x30]
test eax, eax
jne 0x4ddefb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x84]
inc dword [eax + 0x2c]
mov eax, dword [eax + 0x2c]
mov dword [edi + ecx*4], eax
mov ecx, dword [esi + 0x6c]
mov edi, dword [esp + 0x74]
cmp dword [esi + 0x70], ecx
jg 0x4ddd22
push 0
push edx
push dword [esp + 0x88]
mov edx, 0x93
mov ecx, esi
call fcn.004959f0
add esp, 0xc
jmp 0x4ddef7
mov edx, dword [esp + 0x80]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x93
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4ddef7
mov eax, dword [esp + 0xa0]
xor esi, esi
movsx edi, ax
test edi, edi
jle 0x4ddd9e
nop dword [eax]
mov eax, dword [esp + 0x48]
mov edx, ecx
mov ecx, dword [esp + 0xc]
add eax, esi
push eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 4]
movsx eax, word [eax + esi*2]
push eax
push dword [esp + 0x18]
call fcn.004b03b0
mov ecx, dword [esp + 0x20]
inc esi
add esp, 0xc
cmp esi, edi
jl 0x4ddd70
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4dddfb
mov edx, dword [esp + 0x60]
test edx, edx
je 0x4ddde3
mov esi, dword [esp + 0xc]
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
jne 0x4ddde3
mov eax, dword [esi + 0x68]
lea edx, [edx + edx*4]
push dword [eax + edx*4 + 0x10]
lea esi, [eax + edx*4]
movsx edx, byte [esi + 1]
call fcn.00496640
mov eax, dword [esp + 0x34]
add esp, 4
mov word [esi], 0xad
mov dword [esi + 0x10], 0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x44], ecx
jmp 0x4ddefb
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x94]
call fcn.004c68b0
mov ecx, dword [esp + 0xc]
mov esi, eax
mov dword [esp + 0x60], esi
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
jg 0x4dde37
push dword [esp + 0x44]
mov edx, 0x5b
push edi
push dword [esp + 0x50]
call fcn.004959f0
add esp, 0xc
mov edx, eax
jmp 0x4dde6e
mov esi, dword [esp + 0x48]
lea eax, [edx + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x60]
mov dword [eax + ecx*4], 0x5b
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0x10], 0
push edi
push esi
mov esi, dword [esp + 0x14]
mov ecx, esi
call fcn.004968e0
mov edx, dword [esi + 0x6c]
add esp, 8
cmp dword [esi + 0x70], edx
jg 0x4ddea5
push dword [esp + 0x48]
mov edx, 0x82
mov ecx, esi
push dword [esp + 0x48]
push dword [esp + 0x44]
call fcn.004959f0
add esp, 0xc
mov edx, eax
jmp 0x4ddedc
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0xc]
mov dword [eax + ecx*4], 0x82
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x4ddef3
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x30]
cmp dword [ebp + 0x1c], 0
jne 0x4de0fc
cmp dword [esp + 0x28], 0
jne 0x4ddf1d
cmp eax, 2
je 0x4ddf1d
mov ecx, dword [esp + 0xb0]
call fcn.004ede70
mov ecx, dword [esp + 0x58]
test ecx, ecx
jne 0x4de03d
mov edx, dword [esp + 0x30]
xor esi, esi
test edx, edx
je 0x4ddf5d
mov ecx, dword [esp + 0x34]
test ecx, ecx
js 0x4ddf4a
mov eax, dword [esp + 0x7c]
sub eax, dword [esp + 0x98]
mov byte [eax + ecx], 0
test edi, edi
js 0x4ddf5d
mov eax, dword [esp + 0x7c]
sub eax, dword [esp + 0x98]
mov byte [eax + edi], 0
cmp edx, 2
jne 0x4ddfd0
mov ecx, dword [esp + 0x8c]
xor eax, eax
test edi, edi
setns al
sub ecx, eax
test ecx, ecx
jle 0x4ddfd0
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], esi
jg 0x4ddf99
push 0
push 0
push 0
mov edx, 0x11
call fcn.004959f0
add esp, 0xc
mov esi, eax
jmp 0x4ddfd0
lea eax, [esi + 1]
mov dword [ecx + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4], 0x11
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 [esp + 0x14]
mov ecx, dword [esp + 0x18]
push 0
push 0
push dword [esp + 0x84]
push dword [esp + 0xa4]
push 0
push 0x61
call fcn.004ca470
add esp, 0x18
test esi, esi
je 0x4de043
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x6c]
lea eax, [edx - 1]
cmp esi, eax
jne 0x4de00f
mov esi, ecx
mov dword [esi + 0x6c], eax
jmp 0x4de047
test esi, esi
cmovs esi, eax
mov eax, dword [ecx]
cmp byte [eax + 0x51], 0
je 0x4de02a
mov esi, dword [esp + 0xc]
mov eax, 0x68632c
mov dword [eax + 8], edx
jmp 0x4de047
lea ecx, [esi + esi*4]
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4de047
mov esi, dword [esp + 0xc]
jmp 0x4de04b
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4de173
test ecx, ecx
jne 0x4de08f
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x34], ecx
je 0x4de08f
cmp edi, ecx
mov edi, dword [esp + 0x2c]
je 0x4de093
push dword [esp + 0xa4]
mov edx, 0x1d
push dword [esp + 0x48]
push edi
push ecx
mov ecx, esi
call fcn.004960f0
mov eax, dword [esp + 0x40]
add esp, 0x10
jmp 0x4de093
mov edi, dword [esp + 0x2c]
cmp eax, 1
je 0x4de0a6
mov eax, dword [esp + 0x18]
dec dword [eax + 0x38]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x38], 0
mov edx, dword [esp + 0x20]
cmovne edx, dword [esp + 0x44]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4de0d1
push 0
push edi
push edx
mov edx, 0x32
mov ecx, esi
call fcn.004959f0
add esp, 0xc
jmp 0x4de100
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
cmp byte [esp + 0x1f], 0
je 0x4de5e7
test eax, eax
jne 0x4de53c
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
cmp dword [edi + 8], eax
je 0x4de59a
push edx
mov edx, dword [esp + 0xa0]
mov ecx, edi
call fcn.004b0910
mov edx, dword [esp + 0x54]
add esp, 4
cmp eax, edx
je 0x4de59a
mov ecx, dword [edi + 8]
push edx
push eax
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + 4]
and edx, 0x200000
neg edx
sbb edx, edx
add edx, 0x4e
call fcn.00495b60
mov edx, dword [esp + 0x58]
add esp, 8
jmp 0x4de59a
cmp dword [esp + 0x38], 0
jne 0x4de248
cmp dword [esp + 0x28], 0
jne 0x4de248
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x4c], edx
cmp dword [esi + 0x70], edx
jg 0x4de1bc
mov edi, dword [esp + 0x20]
mov edx, 0x2a
push edi
push dword [esp + 0x30]
mov ecx, esi
push dword [esp + 0x88]
call fcn.004959f0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x4c], edx
jmp 0x4de1f2
mov edi, dword [esp + 0x80]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0x2c]
mov dword [eax + ecx*4 + 8], edi
mov edi, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x2a
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4de214
push edi
push edx
push dword [esp + 0x18]
mov edx, 0x20
mov ecx, esi
call fcn.004959f0
add esp, 0xc
jmp 0x4de100
mov edi, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4de100
mov eax, dword [esp + 0x18]
dec dword [eax + 0x38]
mov ecx, dword [esi + 0x6c]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x4c], edi
cmp dword [esi + 0x70], ecx
jg 0x4de279
push 0
push dword [esp + 0x30]
mov edx, 0x25
mov ecx, esi
push dword [esp + 0x44]
call fcn.004959f0
add esp, 0xc
jmp 0x4de2ac
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0x25
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 + 0x28]
mov ecx, dword [esi + 0x6c]
mov dword [esp + 0xcc], ecx
test eax, eax
je 0x4de46e
cmp dword [esp + 0x58], 0
jne 0x4de104
cmp dword [esp + 0x38], 0
je 0x4de3d4
mov eax, dword [esp + 0xa0]
xor esi, esi
movsx edi, ax
test edi, edi
jle 0x4de352
mov edx, dword [esp + 0xc]
nop dword [eax]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x4de31b
mov eax, dword [esp + 0x48]
mov edx, 0x59
mov ecx, dword [esp + 0xc]
add eax, esi
push eax
push esi
push dword [esp + 0x44]
call fcn.004959f0
mov edx, dword [esp + 0x18]
add esp, 0xc
jmp 0x4de34d
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
mov dword [eax + ecx*4], 0x59
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0x10], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x3c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
add eax, esi
mov dword [ecx + 0xc], eax
inc esi
cmp esi, edi
jl 0x4de2f0
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x4de37d
push dword [esp + 0x48]
mov edx, 0x1d
mov ecx, esi
push dword [esp + 0x50]
push dword [esp + 0x18]
call fcn.004959f0
add esp, 0xc
mov edx, eax
jmp 0x4de3b4
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x10]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x48]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0xc]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x4de100
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
jmp 0x4de100
cmp dword [esi + 0x70], ecx
jg 0x4de3f8
push 0
push dword [esp + 0x24]
mov edx, 0x7f
mov ecx, esi
push dword [esp + 0x44]
call fcn.004959f0
mov edx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x4de42b
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x7f
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4de43a
push edx
push edi
jmp 0x4de1fc
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4de100
cmp dword [esi + 0x70], ecx
jg 0x4de48e
push 0
push dword [esp + 0x48]
mov edx, 0x7e
mov ecx, esi
push dword [esp + 0x44]
call fcn.004959f0
add esp, 0xc
jmp 0x4de4c1
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x7e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x4de4e5
push dword [esp + 0x44]
mov edx, 0x1d
mov ecx, esi
push edi
push dword [esp + 0x18]
call fcn.004959f0
add esp, 0xc
mov edx, eax
jmp 0x4de518
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x10]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0xc]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x4de100
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4de100
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4de567
mov edx, dword [esp + 0x50]
mov ecx, esi
push edx
mov edx, dword [esp + 0x7c]
push edx
push dword [esp + 0x44]
mov edx, 0x59
call fcn.004959f0
mov edx, dword [esp + 0x5c]
add esp, 0xc
jmp 0x4de59a
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4], 0x59
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4de5b8
push 0
push 0
push edx
mov edx, 0xf
mov ecx, esi
call fcn.004959f0
add esp, 0xc
jmp 0x4de5e7
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xf
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
cmp byte [esp + 0x43], 0
jne 0x4de6aa
cmp dword [esp + 0x64], 0
jne 0x4de6b5
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x4de79b
xor esi, esi
push dword [ebp + 0x10]
mov edx, dword [esp + 0x60]
push dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
push 3
push 0
push dword [ebp + 8]
call fcn.004dc870
mov ecx, dword [esp + 0x28]
or esi, eax
mov dword [esp + 0x74], esi
xor eax, eax
add esp, 0x14
xor esi, esi
cmp ax, word [ecx + 0x2a]
jge 0x4de72e
xor edi, edi
mov eax, dword [ecx + 4]
mov edx, esi
movzx eax, word [edi + eax + 0x10]
mov dword [esp + 0x78], eax
call fcn.004b9500
movsx edx, ax
add edx, dword [esp + 0x68]
cmp dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x34], edx
je 0x4de704
cmp esi, 0x20
jge 0x4de684
mov eax, 1
mov ecx, esi
shl eax, cl
test dword [esp + 0x60], eax
jne 0x4de704
test byte [esp + 0x78], 1
jne 0x4de704
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x4de6c9
push 0
push edx
push 0
mov edx, 0x48
mov ecx, eax
call fcn.004959f0
jmp 0x4de717
cmp dword [esp + 0x64], 0
je 0x4de609
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
call fcn.004c5cf0
mov esi, eax
jmp 0x4de60b
mov edx, dword [esp + 0xc]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx + 0x6c], eax
mov eax, edx
mov edx, dword [esp + 0x34]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4de71a
mov ecx, dword [esp + 0xc]
push edx
mov edx, dword [esp + 0x18]
push esi
push dword [esp + 0x18]
call fcn.004b03b0
add esp, 0xc
mov ecx, dword [esp + 0x14]
inc esi
add edi, 0x14
movsx eax, word [ecx + 0x2a]
cmp esi, eax
jl 0x4de643
cmp byte [esp + 0x1f], 0
jne 0x4de797
cmp dword [esp + 0x38], 0
jne 0x4de797
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4de764
mov edx, dword [esp + 0x50]
mov ecx, esi
push 0
push edx
push dword [esp + 0x28]
mov edx, 0x4d
call fcn.004959f0
add esp, 0xc
jmp 0x4de797
mov edx, dword [esp + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4], 0x4d
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x5c]
push dword [ebp + 0x10]
mov ecx, dword [esp + 0x1c]
push dword [esp + 0x18]
push 1
push 1
push dword [ebp + 8]
call fcn.004dc870
mov edx, dword [esp + 0xa4]
xor edi, edi
mov dword [esp + 0x8c], eax
add esp, 0x14
mov eax, dword [esp + 0x14]
mov esi, edx
mov dword [esp + 0x68], edi
movzx ecx, word [eax + 0x2a]
cmp di, cx
jge 0x4de9c3
xor edx, edx
mov dword [esp + 0x60], edx
movsx eax, word [eax + 0x28]
cmp edi, eax
jne 0x4de812
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jg 0x4de948
mov ecx, dword [esp + 0xc]
mov edx, 0x48
push 0
push esi
push 0
call fcn.004959f0
jmp 0x4de997
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
movzx eax, word [eax + edx + 0x10]
test al, 0x60
je 0x4de831
test al, 0x20
lea eax, [esi - 1]
cmove eax, esi
mov esi, eax
jmp 0x4de99a
mov eax, dword [esp + 0x24]
mov eax, dword [eax + edi*4]
test eax, eax
js 0x4de917
cmp dword [esp + 0x28], 0
je 0x4de8be
cmp dword [esp + 0x58], 0
jne 0x4de855
mov ecx, dword [esp + 0xa0]
movzx ecx, cx
movsx edx, cx
add edx, eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x68], edx
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x4de884
push esi
push edx
push dword [esp + 0x44]
mov edx, 0x59
mov ecx, eax
call fcn.004959f0
jmp 0x4de997
mov edx, dword [esp + 0xc]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*4]
mov dword [edx + 0x6c], eax
mov eax, edx
mov edx, dword [esp + 0x3c]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + ecx*4], 0x59
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4de99a
mov ecx, dword [ebp + 8]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x68], eax
cmp dword [ecx + 8], 0
je 0x4de99a
push esi
mov edx, eax
call fcn.004b0910
add esp, 4
cmp eax, esi
je 0x4de99a
mov edx, dword [esp + 0x68]
push esi
push eax
mov eax, dword [esp + 0x20]
mov edx, dword [edx + 4]
and edx, 0x200000
neg edx
mov ecx, dword [eax + 8]
sbb edx, edx
add edx, 0x4e
call fcn.00495b60
add esp, 8
jmp 0x4de99a
test dword [esp + 0xc8], 1
je 0x4de979
cmp edi, 0x1f
jg 0x4de979
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esp + 0x78], eax
jne 0x4de979
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x6c]
cmp dword [edx + 0x70], ecx
jle 0x4de7fa
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x68]
mov dword [eax + ecx*4], 0x48
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4de99a
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
push esi
push edi
push dword [esp + 0x18]
call fcn.004b03b0
mov dword [esp + 0xb8], 0
add esp, 0xc
mov eax, dword [esp + 0x14]
inc edi
add dword [esp + 0x60], 0x14
inc esi
mov edx, dword [esp + 0x60]
movzx ecx, word [eax + 0x2a]
movsx eax, cx
cmp edi, eax
mov eax, dword [esp + 0x14]
jl 0x4de7e2
mov edx, dword [esp + 0x90]
test byte [eax + 0x24], 0x60
je 0x4de9da
mov ecx, dword [esp + 0x18]
push eax
call fcn.004c6b60
mov eax, dword [esp + 0x18]
add esp, 4
test byte [esp + 0xc8], 1
mov edi, dword [esp + 0xc]
je 0x4deb99
push dword [esp + 0x90]
mov edx, eax
mov ecx, edi
call fcn.004c6970
mov esi, dword [esp + 0x50]
add esp, 4
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [esp + 0x28]
push dword [esp + 0x20]
push 1
push dword [ebp + 8]
push 0x7f
call fcn.004dc7e0
add esp, 0x1c
cmp dword [esp + 0x58], 0
jne 0x4deb9d
cmp dword [esp + 0x38], 0
je 0x4deaaf
mov edx, dword [edi + 0x6c]
cmp dword [edi + 0x70], edx
jg 0x4dea5c
push dword [esp + 0x44]
mov edx, 0x1d
mov ecx, edi
push esi
push dword [esp + 0x18]
call fcn.004959f0
add esp, 0xc
mov edx, eax
jmp 0x4dea8f
lea eax, [edx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x10]
mov dword [eax + ecx*4 + 8], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esp + 0xc]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 0xc], esi
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x4deb00
mov eax, dword [edi + 0x68]
lea ecx, [edx + edx*4]
mov edx, dword [esp + 0xa4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
jmp 0x4deb00
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4dead1
push dword [esp + 0x20]
mov edx, 0x20
mov ecx, edi
push esi
push dword [esp + 0x18]
call fcn.004959f0
add esp, 0xc
jmp 0x4deb00
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov eax, dword [esp + 0x90]
xor esi, esi
mov edi, eax
cmp cx, word [edx + 0x2a]
jge 0x4deb7c
mov dword [esp + 0x68], ecx
nop dword [eax + eax]
mov eax, dword [edx + 4]
movzx eax, word [ecx + eax + 0x10]
test al, 0x60
je 0x4deb38
test al, 0x20
lea eax, [edi - 1]
cmove eax, edi
mov edi, eax
jmp 0x4deb64
mov eax, dword [esp + 0x24]
cmp dword [eax + esi*4], 0
jge 0x4deb64
movsx eax, word [edx + 0x28]
cmp esi, eax
je 0x4deb64
mov ecx, dword [esp + 0xc]
push edi
push esi
push dword [esp + 0x18]
call fcn.004b03b0
mov ecx, dword [esp + 0x74]
add esp, 0xc
mov edx, dword [esp + 0x14]
movsx eax, word [edx + 0x2a]
inc esi
add ecx, 0x14
inc edi
mov dword [esp + 0x68], ecx
cmp esi, eax
jl 0x4deb20
mov eax, dword [esp + 0x90]
test byte [edx + 0x24], 0x60
je 0x4dec2f
mov ecx, dword [esp + 0x18]
push edx
mov edx, eax
call fcn.004c6b60
mov edi, dword [esp + 0x10]
add esp, 4
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x58], 0
jne 0x4dee92
push 0
push dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x90]
push eax
push esi
push dword [ebp + 0x10]
push dword [esp + 0x68]
push dword [esp + 0x38]
push dword [esp + 0x6c]
push dword [esp + 0xc8]
push dword [esp + 0x34]
push dword [esp + 0xac]
call fcn.004c8210
add esp, 0x2c
cmp dword [esp + 0x88], 0
jne 0x4debfd
cmp byte [esp + 0x54], 0
je 0x4dec91
cmp dword [esp + 0x38], 0
je 0x4ded10
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x70], esi
jg 0x4dec3c
push dword [esp + 0x44]
mov edx, 0x1d
mov ecx, edi
push dword [esp + 0x50]
push dword [esp + 0x18]
call fcn.004959f0
add esp, 0xc
mov esi, eax
jmp 0x4dec6f
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x4c]
jmp 0x4deba1
mov edx, dword [esp + 0x10]
lea eax, [esi + 1]
mov dword [edi + 0x6c], eax
lea ecx, [esi + esi*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x1d
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x4dec8d
mov eax, dword [edi + 0x68]
lea ecx, [esi + esi*4]
mov edx, dword [esp + 0xa4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edx
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x64], 0
je 0x4decba
push dword [esp + 0xb8]
mov ecx, dword [esp + 0x1c]
push dword [esp + 0x28]
push 0
push edx
mov edx, dword [esp + 0x24]
call fcn.004c5700
add esp, 0x10
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffff
push dword [esp + 0x88]
push dword [esp + 0xb0]
push dword [esp + 0x1c]
call fcn.004c0be0
add esp, 0x10
cmp dword [esp + 0xac], 0
je 0x4ded9c
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4ded69
push 0
push 0
push dword [esp + 0x18]
mov edx, 0x87
mov ecx, edi
call fcn.004959f0
add esp, 0xc
jmp 0x4ded9c
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4ded35
push dword [esp + 0x20]
mov edx, 0x20
mov ecx, edi
push esi
push dword [esp + 0x18]
call fcn.004959f0
add esp, 0xc
jmp 0x4dec91
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x4dec95
mov edx, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x87
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 [esp + 0x64]
cmp edx, 1
jg 0x4dedac
cmp byte [esp + 0x54], 0
je 0x4dee08
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4dedd1
push 0
push 0
push dword [esp + 0x18]
mov edx, 0x7a
mov ecx, edi
call fcn.004959f0
mov edx, dword [esp + 0x70]
add esp, 0xc
jmp 0x4dee08
mov esi, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x7a
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test edx, edx
je 0x4dee2d
push dword [esp + 0xb8]
mov edx, dword [esp + 0x18]
push dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push dword [esp + 0x58]
push 0
call fcn.004c5700
add esp, 0x10
mov edx, dword [esp + 0x14]
xor eax, eax
cmp dword [esp + 0x30], 2
mov ecx, dword [esp + 0x18]
push 0
sete al
push 0
lea eax, [eax*2 + 4]
push eax
push dword [esp + 0x90]
push dword [esp + 0x60]
push dword [esp + 0xbc]
push dword [esp + 0x28]
call fcn.004ca1c0
add esp, 0x1c
cmp dword [esp + 0x64], 0
je 0x4dee92
push dword [esp + 0xb8]
mov edx, dword [esp + 0x18]
push dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push dword [esp + 0x28]
push dword [ebp + 8]
call fcn.004c65c0
add esp, 0x10
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x4deeee
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4deebb
push 0
push 1
push edx
mov edx, 0x52
mov ecx, edi
call fcn.004959f0
add esp, 0xc
jmp 0x4deeee
mov esi, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x52
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
push esi
push dword [ebp + 0x10]
push dword [esp + 0x28]
push dword [esp + 0x20]
push 2
push dword [ebp + 8]
push 0x7f
call fcn.004dc7e0
mov eax, dword [esp + 0x4c]
add esp, 0x1c
cmp eax, 1
je 0x4df036
cmp eax, 2
jne 0x4def66
mov ecx, dword [edi + 0xc]
not esi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4def4c
push esi
mov edx, edi
call fcn.004961f0
mov ecx, dword [esp + 0xb4]
add esp, 4
call fcn.004ede70
jmp 0x4df036
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + 0xb0]
call fcn.004ede70
jmp 0x4df036
cmp dword [esp + 0x38], 0
jne 0x4defb6
cmp dword [esp + 0x28], 0
jne 0x4defb6
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4def95
push 0
push esi
push 0
mov edx, 0xb
mov ecx, edi
call fcn.004959f0
add esp, 0xc
jmp 0x4df036
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
jmp 0x4df026
mov ecx, dword [edi + 0xc]
not esi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4defd0
push esi
mov edx, edi
call fcn.004961f0
add esp, 4
jmp 0x4defd9
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + esi*4], eax
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4df000
mov edx, dword [esp + 0xcc]
mov ecx, edi
push 0
push edx
push dword [esp + 0x44]
mov edx, 5
call fcn.004959f0
add esp, 0xc
jmp 0x4df036
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x2c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4df054
push edx
mov edx, edi
call fcn.004961f0
add esp, 4
jmp 0x4df05d
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x12], 0
jne 0x4df080
cmp dword [eax + 0x78], 0
jne 0x4df080
cmp dword [ebp + 0x1c], 0
jne 0x4df080
cmp dword [eax + 0x70], 0
je 0x4df080
mov ecx, eax
call fcn.004c6fb0
mov edx, dword [esp + 0xb4]
test edx, edx
je 0x4dd38e
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x4df0ad
push 0
push 1
push edx
mov edx, 0x50
mov ecx, edi
call fcn.004959f0
add esp, 0xc
jmp 0x4df0dc
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x50
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, 1
mov ecx, edi
call fcn.00497b40
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x4dd38e
mov ecx, dword [edi + 0x74]
mov edx, str.table__s_may_not_be_indexed
push 0
push 1
push 0xffffffffffffffff
call fcn.00494db0
jmp 0x4dd38b
xor edx, edx
jmp 0x4dd392