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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
push ebx
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx + 4]
push esi
push edi
mov edi, eax
mov eax, dword [edi]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
mov esi, dword [eax]
push esi
call fcn.004e0541
add esp, 4
mov dword [esp + 0x34], eax
inc eax
je 0x4fb529
add eax, 7
shr eax, 3
add eax, eax
add eax, eax
add eax, eax
xor ecx, ecx
mov dword [esp + 0x38], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004dec6b
mov ecx, dword [esp + 0x38]
add esp, 4
lea edx, [ecx + ecx + 2]
push edx
push esi
push eax
mov dword [esp + 0x3c], eax
call fcn.004e01e0
add esp, 0xc
push 4
call fcn.004e0689
add esp, 4
test eax, eax
je 0x4fb533
mov dword [eax], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x4fb609
cmp dword [eax], 1
jg 0x4fb53a
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call dword [fcn.00487660]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x13c]
test esi, esi
jne 0x4fb5a1
mov esi, dword [eax + 0x134]
test esi, esi
je 0x4fb609
mov dword [esp + 0x1c], esi
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [esp + 0x34]
jne 0x4d86b5
test edx, edx
je 0x4d77f9
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
jmp 0x4d77e0
mov si, word [eax]
cmp si, word [ecx]
jne 0x4d86b1
add eax, 2
add ecx, 2
dec edx
jne 0x4d77e0
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
dec dword [eax]
jne 0x4d781b
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004e055c
mov edx, dword [esp + 0x40]
add esp, 4
push edx
call fcn.004dec76
add esp, 4
mov eax, esi
test eax, eax
je 0x4fb612
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x10]
mov eax, dword [edi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0xcc], edx
mov edx, dword [ebx + 4]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x148]
inc eax
mov dword [edi], eax
mov esi, dword [ebx + 4]
mov dword [esp + 0xdc], ecx
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], ecx
mov esi, dword [esi + eax*4]
cmp word [esi + 8], 0x47
mov dword [esp + 0x30], 0x498ccc
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x60], 0x49d298
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
jne 0x4fb595
inc eax
mov dword [esp + 0x7c], edx
mov edx, eax
mov dword [esp + 0x18], ecx
xor esi, esi
mov dword [esp + 0x54], edx
mov dword [edi], eax
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
movsx ecx, word [ecx + 8]
cmp ecx, 0x47
jge 0x4d78cc
inc eax
jmp 0x4d78b8
sub ecx, 0x47
je 0x4fb66e
dec ecx
jne 0x4fb645
test esi, esi
jne 0x4fb667
mov dword [esp + 0x14], eax
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0xcc]
cmp eax, dword [0x4ba1e8]
jg 0x4fb674
cmp eax, ecx
jle 0x4fb674
shl eax, 4
add eax, dword [0x4ba21c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x5c], ecx
jle 0x4d7ae2
mov dword [esp + 0x10], 3
mov dword [esp + 0x78], ecx
lea ecx, [ecx]
cmp edx, dword [esp + 0x14]
jae 0x4d7ae2
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
inc dword [esp + 0x70]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
xor edi, edi
xor bl, bl
cmp word [ecx + 8], di
je 0x4fb67d
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4]
cmp word [edx + 8], 0x33
je 0x4d796e
xor bl, bl
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
cmp esi, eax
je 0x4d86c9
push 1
call fcn.004e0689
add esp, 4
test eax, eax
je 0x4fb6b5
mov byte [eax], bl
mov edx, dword [esp + 0x64]
mov dword [edx + esi*4], eax
inc esi
mov dword [esp + 0x68], esi
test bl, bl
jne 0x4fb6bc
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4fb7c6
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x4fb7d9
cmp eax, 0xa
je 0x4fb7fe
cmp eax, 5
je 0x4fb815
cmp eax, 0xb
je 0x4fb823
cmp eax, 0xc
je 0x4fb845
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
cmp esi, eax
je 0x4d8726
mov edi, dword [esp + 0x34]
push 0x10
call fcn.004e0689
add esp, 4
test eax, eax
je 0x4fba2b
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
cmp eax, 1
jne 0x4fb85c
mov edx, dword [esp + 0x20]
mov dword [ebx], edx
mov eax, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
mov dword [edi + esi*4], eax
inc esi
push ebx
mov dword [esp + 0x3c], esi
mov esi, dword [edi + esi*4 - 4]
push esi
lea eax, [esp + 0x5c]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.004d87c0
test eax, eax
jne 0x4fcc28
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + eax*4 + 4]
inc eax
cmp word [edx + 8], 0x41
mov dword [esp + 0x10], eax
je 0x4fba32
mov edx, dword [esp + 0x54]
cmp edx, ebx
je 0x4d7ae2
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov eax, dword [eax + edx*4]
mov ecx, 0x40
cmp word [eax + 8], cx
jne 0x4fba81
lea eax, [edx + 1]
cmp eax, dword [esp + 0x14]
je 0x4fba81
mov esi, dword [esp + 0x10]
mov edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], edx
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4]
cmp word [eax + 8], cx
jne 0x4d7acf
inc dword [esp + 0x10]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jl 0x4d7930
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x44]
jl 0x4fcc18
cmp eax, dword [esp + 0x5c]
jg 0x4fcc18
cmp edx, dword [esp + 0x14]
jne 0x4fcc18
mov ebx, dword [esp + 0xcc]
xor esi, esi
xor eax, eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x1c], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
cmp ebx, esi
jl 0x4fba93
cmp byte [0x4b9025], al
jne 0x4fba9c
push 0xc
call fcn.004e0689
add esp, 4
cmp eax, esi
je 0x4fbb3f
mov edi, eax
mov dword [edi], esi
mov edx, dword [esp + 0x4c]
mov dword [edi + 4], edx
cmp dword [esp + 0x4c], esi
jl 0x4fbabd
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x4fbac5
mov dword [edi], esi
mov ecx, dword [0x4b9020]
mov dword [edi + 8], ecx
mov dword [0x4b9020], edi
mov eax, dword [esp + 0x48]
inc dword [0x4b901c]
cmp eax, esi
jne 0x4fbb46
mov eax, 1
cmp dword [esp + 0x5c], eax
jl 0x4d8019
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 4]
mov esi, dword [esp + 0x10]
xor ebx, ebx
or edx, 0xffffffff
mov word [esp + 0xd8], dx
mov dword [esp + 0xbc], 0x4966cc
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x7c], ebx
mov edi, dword [ecx + esi*4]
lea edx, [ecx + esi*4]
xor eax, eax
mov word [esp + 0xda], ax
mov dword [esp + 0x14], eax
cmp word [edi + 8], bx
je 0x4fbb99
mov edx, dword [esp + 0x78]
cmp edx, dword [esp + 0x70]
jg 0x4fbc00
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
mov edi, dword [edi + edx*4]
or eax, 0x200
cmp byte [edi], bl
jne 0x4fbbd0
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov edx, dword [edx + esi*4]
mov esi, eax
mov eax, dword [esp + 0x10]
add eax, eax
add eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [eax + ecx]
mov edi, dword [eax]
cmp dword [0x4b901c], ebx
je 0x4fbcca
mov dword [esp + 0x18], edx
cmp byte [0x4b9025], bl
jne 0x4fbcdd
mov ebx, dword [0x4b9020]
xor eax, eax
mov dword [esp + 0x14], ebx
cmp dword [ebx], eax
je 0x4d7d3c
test byte [0x4ba6d4], 1
mov byte [esp + 0x43], al
je 0x4fbceb
mov dword [0x4ba6d0], eax
mov dword [0x4ba6cc], eax
mov eax, 0x4ba6b4
mov dword [esp + 0x74], eax
mov dword [esp + 0x58], eax
mov eax, dword [edi + 4]
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
test eax, eax
je 0x4fbd10
test edx, edx
je 0x4fbd18
cmp eax, edx
jb 0x4fbd38
test eax, eax
je 0x4fbd29
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [edi]
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x4d7cda
add eax, 2
add ecx, 2
dec edx
jne 0x4d7cc4
jmp 0x4fbd25
mov ebx, dword [esp + 0x14]
jb 0x4fbd30
mov eax, 1
test eax, eax
js 0x4fbd46
jle 0x4fbde1
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x4fbd98
cmp byte [esp + 0x43], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x1c], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x58]
mov dword [edx + 0x18], ecx
mov eax, dword [ebx]
mov ecx, dword [0x4ba6d0]
mov dword [eax + 0x18], ecx
mov edx, dword [ebx]
mov eax, dword [0x4ba6cc]
mov dword [edx + 0x1c], eax
jne 0x4fbdeb
and esi, 0xff00
push 0x20
mov dword [esp + 0x48], esi
call fcn.004e0689
add esp, 4
test eax, eax
je 0x4fbe0e
mov esi, eax
xor ecx, ecx
mov eax, 8
mov dword [esi + 8], eax
mov edx, 2
mul edx
seto cl
mov dword [esi + 4], 0
neg ecx
or ecx, eax
push ecx
call fcn.004dec6b
add esp, 4
xor ecx, ecx
mov dword [esi], eax
push 4
mov word [eax], cx
call fcn.004e0689
add esp, 4
test eax, eax
je 0x4fbe07
mov dword [eax], 1
mov dword [esi + 0xc], eax
mov ebx, esi
cmp ebx, edi
je 0x4d7dde
mov eax, dword [ebx + 0xc]
cmp dword [eax], 1
jg 0x4fbe15
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mov dword [ebx + 4], esi
cmp dword [ebx + 8], eax
jb 0x4fbe34
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [edx + edx + 2]
mov edx, dword [ebx]
push eax
push ecx
push edx
call fcn.004e01e0
add esp, 0xc
mov eax, dword [esp + 0x44]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.004e0689
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x4d7e4b
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 8]
mov esi, eax
lea eax, [edx - 1]
mov dword [esp + 0x58], esi
mov dword [esi + 8], edx
mov dword [esi + 0xc], ecx
cmp eax, 0xb
ja 0x4d7e47
jmp dword [eax*4 + 0x40ab84]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
mov esi, dword [eax]
cmp esi, edi
je 0x4d8779
test byte [0x4ba6d4], 1
je 0x4fbfe8
mov eax, 0x4ba6b4
mov dword [0x4ba6d0], edi
mov dword [0x4ba6cc], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x58], eax
lea ebx, [ebx]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 4]
cmp eax, edi
je 0x4fc00b
cmp edx, edi
je 0x4fc013
cmp eax, edx
jb 0x4fc033
cmp eax, edi
jbe 0x4fc022
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
lea esp, [esp]
mov di, word [eax]
cmp di, word [ecx]
jne 0x4d7ed6
add eax, 2
add ecx, 2
dec edx
jne 0x4d7ec0
jmp 0x4fc020
jb 0x4fc029
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x4fc041
jle 0x4d7efe
lea eax, [esi + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
jne 0x4fc0a0
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x58]
mov dword [eax + 0x1c], edx
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x18], ecx
mov eax, dword [0x4ba6d0]
mov edx, dword [esi + 4]
mov dword [esi + 0x18], eax
mov ecx, dword [0x4ba6cc]
mov dword [esi + 0x1c], ecx
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x4fc0ee
cmp edx, edi
je 0x4fc0f6
cmp eax, edx
jb 0x4fc116
cmp eax, edi
jbe 0x4fc105
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
nop
mov di, word [eax]
cmp di, word [ecx]
jne 0x4d7f66
add eax, 2
add ecx, 2
dec edx
jne 0x4d7f50
jmp 0x4fc103
jb 0x4fc10c
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x4fc124
jle 0x4fc135
mov ecx, dword [0x4ba6cc]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x18], esi
mov dword [esi + 0x1c], edi
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + eax + 4]
cmp word [edx + 8], 0x41
je 0x4fc13c
add dword [esp + 0x10], 2
mov ax, word [esp + 0xd8]
inc dword [esp + 0x1c]
cmp ax, 0x30
jge 0x4fc170
cmp dword [esp + 0xc4], 0
mov dword [esp + 0xbc], 0x4966cc
ja 0x4fc194
mov ecx, dword [esp + 0xc0]
push ecx
mov dword [esp + 0xc8], 0
call fcn.004dec76
mov eax, dword [esp + 0x7c]
inc eax
add esp, 4
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jle 0x4d7ba0
mov ebx, dword [esp + 0xcc]
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x70]
xor eax, eax
lea ecx, [eax + 1]
mov dword [esp + 0x80], eax
mov dword [esp + 0x8c], eax
mov byte [esp + 0x90], al
mov dword [esp + 0x94], eax
mov byte [esp + 0x98], al
mov dword [esp + 0xa0], eax
mov dword [esp + 0xac], eax
mov byte [esp + 0xb0], al
mov eax, dword [esi]
mov dword [esi + 0x148], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0xa8], ecx
mov ecx, dword [eax + 4]
cmp byte [ecx + esi + 0xd], 0
lea edi, [ecx + esi + 4]
jne 0x4fc1bd
push 0x40
call fcn.004e0689
add esp, 4
test eax, eax
je 0x4fc20f
xor ecx, ecx
mov edx, 1
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax], ecx
mov byte [eax + 0x10], cl
mov dword [eax + 0x14], ecx
mov byte [eax + 0x18], cl
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x20], ecx
mov byte [eax + 0x30], cl
mov ecx, dword [edi + 4]
mov dword [eax + 0x38], ecx
mov dword [edi + 4], eax
inc dword [edi]
mov edx, dword [esi + 0xf4]
lea eax, [ebx + 1]
mov ebx, dword [esi + 0x16c]
lea edi, [esi + 0x16c]
push eax
mov ecx, esi
mov dword [esp + 0x4c], edx
call fcn.004d7220
cmp ebx, dword [edi]
jb 0x4fc216
mov eax, dword [esp + 0x48]
mov edi, esi
mov ecx, dword [edi]
mov dword [edi + 0xf4], eax
mov edx, dword [ecx + 4]
cmp byte [edx + edi + 0xd], 0
lea eax, [edx + edi + 4]
mov eax, dword [eax + 4]
jne 0x4fc224
cmp byte [eax + 0x10], 0
je 0x4fc449
mov ecx, dword [ebp + 0x14]
mov byte [ecx], 1
mov edx, dword [edi]
mov eax, dword [edx + 4]
cmp byte [eax + edi + 0xd], 0
lea eax, [eax + edi + 4]
jne 0x4fc22c
mov esi, dword [eax + 4]
mov ebx, dword [ebp + 0x10]
cmp ebx, esi
je 0x4d81cb
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x4fc237
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x4fc249
cmp eax, 0xa
je 0x4fc26a
cmp eax, 5
je 0x4fc27f
cmp eax, 0xb
je 0x4fc28b
cmp eax, 0xc
je 0x4fc2a9
mov dword [ebx + 8], 1
mov dword [ebx], 0
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
cmp eax, 4
jne 0x4fc2be
push 0x10
call fcn.004e0689
add esp, 4
test eax, eax
je 0x4fc43a
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [ebx + 0xc], eax
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
cmp byte [edx + edi + 0xd], 0
mov eax, dword [edx + edi + 8]
lea esi, [edx + edi + 4]
jne 0x4fc441
cmp byte [eax + 0x18], 0
jne 0x4fc469
cmp byte [esi + 9], 0
jne 0x4fc47f
mov eax, dword [esi + 4]
cmp byte [eax + 0x30], 0
jne 0x4fc48a
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
cmp byte [ecx + ebx + 0xd], 0
lea edi, [ecx + ebx + 4]
jne 0x4fc4a6
cmp byte [edi + 8], 0
jne 0x4fc4c6
mov esi, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x48], edx
test esi, esi
je 0x4d82f1
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x4fc4cf
mov eax, dword [esi + 0x28]
cmp eax, 8
je 0x4fc4e1
cmp eax, 0xa
je 0x4fc504
cmp eax, 5
je 0x4fc51a
cmp eax, 0xb
je 0x4fc527
cmp eax, 0xc
je 0x4fc547
mov dword [esi + 0x28], 1
mov dword [esi + 0x20], 0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x4d82a8
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx], 0
je 0x4fc55d
push ebx
call fcn.004dec76
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x4fc579
cmp eax, 0xa
je 0x4fc59a
cmp eax, 5
je 0x4fc5af
cmp eax, 0xb
je 0x4fc5bb
cmp eax, 0xc
je 0x4fc5d9
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.004dec76
mov ebx, dword [ebp + 8]
add esp, 4
mov edx, dword [esp + 0x48]
mov dword [edi + 4], edx
mov byte [edi + 9], 0
dec dword [edi]
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebx + 8]
add eax, ebx
cmp byte [eax + 0xd], 0
jne 0x4fc5ee
mov edx, dword [esp + 0x94]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x4fc5f6
mov byte [eax + 0x18], 0
mov ecx, dword [ebx]
mov eax, dword [ecx + 4]
add eax, ebx
cmp byte [eax + 0xd], 0
mov dword [esp + 0x48], eax
jne 0x4fc5fe
mov eax, dword [eax + 8]
lea ebx, [eax + 0x20]
lea eax, [esp + 0xa0]
cmp ebx, eax
je 0x4d83b1
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x4fc609
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x4fc61b
cmp eax, 0xa
je 0x4fc63c
cmp eax, 5
je 0x4fc651
cmp eax, 0xb
je 0x4fc65d
cmp eax, 0xc
je 0x4fc67b
mov eax, dword [esp + 0xa8]
mov dword [ebx], 0
mov dword [ebx + 8], eax
cmp eax, 1
jne 0x4fc690
mov eax, dword [esp + 0xa0]
mov dword [ebx], eax
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x48]
cmp byte [eax + 0xd], 0
jne 0x4fc873
mov eax, dword [eax + 8]
mov byte [eax + 0x30], 0
cmp byte [0x4b9025], 0
jne 0x4fc87e
mov ecx, dword [0x4b9020]
cmp byte [0x4b9024], 0
jne 0x4fc8a0
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
test esi, esi
je 0x4d84c5
mov eax, dword [esi + 0x18]
mov ebx, ecx
test eax, eax
je 0x4d840e
push eax
call fcn.004d9400
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x4fc8b0
cmp byte [esi + 0x10], 0
jne 0x4d8494
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x4d8494
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x4d844e
mov eax, dword [edi + 0xc]
dec dword [eax]
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
je 0x4fc8bd
push edi
call fcn.004dec76
add esp, 4
mov dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x4fc8d9
cmp eax, 0xa
je 0x4fc8fa
cmp eax, 5
je 0x4fc90f
cmp eax, 0xb
je 0x4fc91b
cmp eax, 0xc
je 0x4fc939
push ebx
mov dword [ebx + 8], 1
mov dword [ebx], 0
call fcn.004dec76
add esp, 4
mov eax, dword [esi + 0xc]
dec dword [eax]
mov ecx, dword [esi + 0xc]
cmp dword [ecx], 0
jne 0x4d84b8
mov edx, dword [esi]
push edx
call fcn.004e055c
mov eax, dword [esi + 0xc]
add esp, 4
push eax
call fcn.004dec76
add esp, 4
push esi
call fcn.004dec76
mov edi, dword [esp + 0x6c]
add esp, 4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x64]
push ecx
call fcn.004dec76
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [0x4b9020], edx
mov byte [0x4b9025], 0
mov eax, dword [esp + 0xdc]
dec dword [0x4b901c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x148], eax
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x4fc94e
mov eax, dword [esp + 0xa8]
cmp eax, 8
je 0x4fc964
cmp eax, 0xa
je 0x4fc988
cmp eax, 5
je 0x4fc9a2
cmp eax, 0xb
je 0x4fc9b3
cmp eax, 0xc
je 0x4fc9d4
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
xor ecx, ecx
mov edx, 1
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa0], ecx
cmp eax, ecx
jne 0x4fc9ee
cmp esi, 8
je 0x4fca0b
cmp esi, 0xa
je 0x4fca3b
cmp esi, 5
je 0x4fca61
cmp esi, 0xb
je 0x4fca79
cmp esi, 0xc
je 0x4fcaa1
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x4fcac7
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x4fcae1
cmp eax, 0xa
je 0x4fcb0d
cmp eax, 5
je 0x4fcb2b
cmp eax, 0xb
je 0x4fcb40
cmp eax, 0xc
je 0x4fcb69
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
cmp edi, ecx
jbe 0x4d85f4
xor esi, esi
mov ecx, dword [ebx + esi*4]
push ecx
call fcn.004dec76
inc esi
add esp, 4
cmp esi, edi
jb 0x4d85e3
mov edx, dword [esp + 0x64]
push edx
call fcn.004dec76
add esp, 4
cmp dword [esp + 0x38], 0
jbe 0x4d8690
xor ebx, ebx
mov edi, edi
mov eax, dword [esp + 0x34]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x4d8689
mov edi, dword [esi + 0xc]
test edi, edi
je 0x4d8643
mov eax, dword [edi + 0xc]
dec dword [eax]
mov ecx, dword [edi + 0xc]
cmp dword [ecx], 0
je 0x4fcb87
push edi
call fcn.004dec76
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x4fcba3
cmp eax, 0xa
je 0x4fcbc4
cmp eax, 5
je 0x4fcbd9
cmp eax, 0xb
je 0x4fcbe5
cmp eax, 0xc
je 0x4fcc03
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.004dec76
add esp, 4
inc ebx
cmp ebx, dword [esp + 0x38]
jb 0x4d8610
mov edx, dword [esp + 0x34]
push edx
call fcn.004dec76
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x4d77c0
jmp 0x4fb609
add eax, eax
cmp eax, 4
jae 0x4d86d5
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004e0689
mov edx, dword [esp + 0x68]
add esp, 4
lea ecx, [esi*4]
push ecx
push edx
push eax
mov dword [esp + 0x54], eax
call fcn.004e01e0
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
call fcn.004dec76
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x64], ecx
jmp 0x4d797e
add eax, eax
cmp eax, 4
jae 0x4d8732
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x3c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004e0689
mov ebx, dword [esp + 0x38]
mov edi, eax
add esp, 4
lea eax, [esi*4]
push eax
push ebx
push edi
call fcn.004e01e0
add esp, 0xc
push ebx
call fcn.004dec76
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x4d7a03
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
jmp 0x4d7f94
mov eax, 8
jmp 0x4d7720
xor eax, eax
jmp 0x4d776c
mov eax, dword [esp + 0x3c]
dec dword [eax]
lea esi, [esp + 0x30]
call fcn.004cf100
mov edx, dword [esp + 0x34]
inc edx
push edx
call fcn.00518654
xor ecx, ecx
mov esi, eax
mov edx, 2
mul edx
seto cl
mov dword [esp + 0x38], esi
neg ecx
or ecx, eax
push ecx
call fcn.004dec6b
mov edx, dword [esp + 0x34]
mov esi, eax
mov eax, dword [esp + 0x38]
add esp, 4
lea ecx, [eax + eax + 2]
push ecx
push edx
push esi
call fcn.004e01e0
add esp, 0xc
mov dword [esp + 0x30], esi
jmp 0x4d7789
push edx
mov edx, dword [ebp + 8]
push 0x6f
push edx
jmp 0x4fcc23
mov eax, dword [eax + 0x140]
dec eax
js 0x4fb609
mov dword [esp + 0x5c], 0
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x70]
lea eax, [eax + edx]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [esi + eax*4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x30]
call fcn.004d9c90
test eax, eax
jns 0x4fb5f0
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x70], eax
jmp 0x4fb5ff
jle 0x4fb626
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x5c], edx
jle 0x4fb5ba
lea ecx, [esp + 0x30]
call fcn.004cffb0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push eax
push edi
push ebx
push ecx
call 0x550f1f
jmp 0x4d869f
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x5c], eax
jg 0x4fb609
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + ecx*4]
lea ecx, [esp + 0x30]
call fcn.004cffb0
jmp 0x4d781b
sub ecx, 0x37
jne 0x4d78c9
mov edx, eax
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx*4 - 4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x6f
push eax
jmp 0x4fcc23
dec esi
inc eax
jmp 0x4d78b8
inc esi
jmp 0x4d78c9
mov dword [esp + 0x50], ecx
jmp 0x4d7913
mov ecx, dword [eax]
mov ecx, dword [ecx]
cmp ecx, 0x24
jne 0x4fb691
mov bl, 1
jmp 0x4fb69f
cmp ecx, 0x1e
jne 0x4fba3c
mov edi, 0x100
mov ecx, dword [eax + 4]
inc dword [esp + 0x10]
add eax, 4
cmp word [ecx + 8], 0
je 0x4fb67d
jmp 0x4d795c
xor eax, eax
jmp 0x4d7992
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x54]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x33
jne 0x4fba48
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
xor ecx, ecx
call fcn.004da290
test al, al
je 0x4fba64
test dword [esp + 0x18], 0x100
je 0x4fb729
test edi, 0x100
jne 0x4fb729
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0xb0
push eax
jmp 0x4fcc23
mov eax, dword [esp + 0x1c]
mov edi, 1
add dword [esp + 0x54], edi
add dword [esp + 0x10], edi
cmp dword [eax + 8], 5
jne 0x4fb79a
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov edx, dword [edx + eax*4]
cmp word [edx + 8], 0x4e
jne 0x4fb79a
mov edx, dword [ebp + 8]
push 0
lea eax, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x60]
call fcn.004da4b0
test eax, eax
je 0x4fb79a
lea esi, [esp + 0x20]
call fcn.004d6f70
lea ecx, [esp + 0x60]
call fcn.00513c89
lea ecx, [esp + 0x30]
call fcn.004dea60
mov eax, edi
jmp 0x4d869f
lea esi, [esp + 0x20]
call fcn.004d6f70
mov eax, dword [esp + 0x1c]
push esi
lea esi, [esp + 0x34]
mov dword [esp + 0x2c], 6
mov dword [esp + 0x24], eax
call fcn.004d9a10
mov ebx, dword [esp + 0x14]
jmp 0x4d7a84
push eax
call fcn.0051499d
mov dword [esp + 0x2c], 0
jmp 0x4d79b2
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4d79e3
push eax
call dword [0x48744c]
mov edx, dword [esp + 0x20]
push edx
call fcn.004dec76
add esp, 4
jmp 0x4d79e3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4d79e3
push eax
call fcn.00516180
jmp 0x4d79e3
lea eax, [esp + 0x20]
call fcn.004dc350
jmp 0x4d79e3
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
call fcn.004dec76
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.004dec76
add esp, 4
jmp 0x4d79e3
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4d79e3
push eax
call 0x51d3d6
jmp 0x4d79e3
dec eax
cmp eax, 0xb
ja 0x4fb90f
jmp dword [eax*4 + 0x42f04d]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x4d7a38
xor eax, eax
jmp 0x4d7a3a
add dword [esp + 0x10], 2
jmp 0x4d7a84
push 0xffffffffffffffff
push 0x91
jmp 0x4fcc1f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x91
push eax
jmp 0x4fcc23
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x79
push eax
jmp 0x4fcc23
mov ecx, dword [esi + 4]
mov edx, dword [ecx + edx*4]
movsx eax, word [edx + 0xa]
push eax
push 0x6f
jmp 0x4fcc1f
mov dword [esp + 0x4c], esi
jmp 0x4d7b2b
mov edx, dword [0x4b9020]
mov dword [edx], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x4b9020]
mov dword [ecx + 4], eax
mov byte [0x4b9025], 0
jmp 0x4d7b7b
mov dword [edi + 4], esi
jmp 0x4d7b5e
push 0x20
mov dword [esp + 0x1c], eax
call fcn.004e0689
add esp, 4
cmp eax, esi
je 0x4fbae6
push eax
call 0x51d419
jmp 0x4fbae8
xor eax, eax
mov ecx, dword [esp + 0x18]
push ecx
mov esi, eax
mov dword [edi], eax
call fcn.004dc180
mov edx, dword [edi]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov ecx, dword [edi]
mov edx, dword [esi + 0x14]
mov dword [ecx + 0x14], edx
mov ecx, dword [edi]
xor eax, eax
mov dword [ecx + 0x18], eax
mov edx, dword [edi]
mov dword [edx + 0x1c], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [edi]
add ecx, 0x18
push eax
push ecx
mov ecx, edi
call 0x525bc1
mov edx, dword [esi + 0x1c]
mov eax, dword [edi]
push edx
add eax, 0x1c
push eax
mov ecx, edi
call 0x525bc1
xor esi, esi
jmp 0x4d7b6c
xor edi, edi
jmp 0x4d7b6c
mov edi, eax
mov eax, dword [eax + 0x18]
cmp eax, esi
je 0x4fbb5d
push eax
lea ecx, [esp + 0x4c]
call fcn.004d9400
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x4fbb72
push eax
lea ecx, [esp + 0x4c]
call fcn.004d9400
cmp byte [edi + 0x10], 0
jne 0x4fbb8e
mov ecx, dword [edi + 0x14]
cmp ecx, esi
je 0x4fbb8e
push 1
call fcn.004dc2a0
push edi
call fcn.0051499d
jmp 0x4d7b8d
mov edi, dword [edx]
mov edi, dword [edi]
cmp edi, 0x24
je 0x4fbbbb
cmp edi, 0x1e
jne 0x4fbbbf
mov dword [esp + 0x14], 0x100
mov eax, dword [esp + 0x14]
inc esi
add edx, 4
mov edi, dword [edx]
cmp word [edi + 8], bx
je 0x4fbb99
mov dword [esp + 0x10], esi
jmp 0x4d7bfa
mov edi, dword [esp + 0x34]
mov edx, dword [edi + edx*4]
mov ecx, dword [ecx + esi*4]
push 1
push eax
push edx
call fcn.00503fd2
push eax
mov eax, dword [ecx]
push eax
call 0x534a8a
test al, al
je 0x4fc1d7
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x4d7fb5
lea ebx, [esp + 0xbc]
call fcn.004db510
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 4]
mov dword [esp + 0x7c], 0
mov eax, dword [edx + esi*4 + 8]
movzx ecx, word [eax + 8]
cmp cx, 0x4a
je 0x4fbc37
cmp cx, 0x49
jne 0x4fbc52
lea edi, [esp + 0xbc]
call fcn.004d0780
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4 + 0xc]
lea edi, [esp + 0xbc]
call fcn.004d0780
mov edi, 0x7f
lea esi, [esp + 0xd0]
call fcn.004d0710
mov eax, esi
lea edi, [esp + 0xbc]
call fcn.004d0780
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [ebp + 8]
push edi
call fcn.004d87c0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x14]
add eax, eax
add eax, eax
mov esi, dword [eax + edx]
mov esi, dword [esi]
mov dword [esp + 0x48], eax
or ecx, 0x200
mov eax, 1
lea edx, [esp + 0x20]
call fcn.004cf6e0
jmp 0x4d7f96
push esi
mov eax, edi
push edx
mov edi, 0x4b900c
call fcn.004d1e40
jmp 0x4d7f96
mov ecx, dword [0x4b9020]
mov ebx, dword [ecx + 8]
jmp 0x4d7c60
or dword [0x4ba6d4], 1
push 0x4ba6b4
call 0x51d419
push 0x429ffd
call fcn.004e082c
add esp, 4
xor eax, eax
jmp 0x4d7c7f
test edx, edx
jne 0x4fbd46
test eax, eax
jne 0x4d7cf7
jmp 0x4d7cae
mov ebx, dword [esp + 0x14]
xor eax, eax
jmp 0x4d7ce9
or eax, 0xffffffff
jmp 0x4d7ce9
mov ecx, dword [ecx]
mov eax, dword [edi]
call fcn.004db170
jmp 0x4d7ce9
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4d7d04
push eax
push edi
call fcn.00515127
add esp, 8
test al, al
je 0x4fbd83
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebx]
mov edx, dword [eax + 0x1c]
mov dword [ecx + 0x18], edx
mov ecx, dword [ebx]
mov dword [eax + 0x1c], ecx
mov dword [ebx], eax
cmp dword [eax + 0x18], 0
je 0x4d7d04
mov edx, dword [ebx]
mov eax, dword [esp + 0x58]
mov dword [eax + 0x18], edx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov dword [ebx], ecx
jmp 0x4d7c92
push edi
push eax
call fcn.00515127
add esp, 8
test al, al
je 0x4fbdc8
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebx]
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x1c], ecx
mov edx, dword [ebx]
mov dword [eax + 0x18], edx
mov dword [ebx], eax
cmp dword [eax + 0x1c], 0
je 0x4d7d04
mov eax, dword [ebx]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x74], eax
mov dword [ebx], edx
jmp 0x4d7c96
mov byte [esp + 0x43], 1
jmp 0x4d7d04
mov ebx, dword [ebx]
test ebx, ebx
je 0x4d7d3c
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
push ecx
call fcn.004d6eb0
jmp 0x4d7f96
xor eax, eax
jmp 0x4d7da1
xor ebx, ebx
jmp 0x4d7da6
dec dword [eax]
mov edx, dword [edi + 4]
mov dword [ebx + 4], edx
mov eax, dword [edi + 8]
mov dword [ebx + 8], eax
mov ecx, dword [edi]
mov dword [ebx], ecx
mov edi, dword [edi + 0xc]
mov dword [ebx + 0xc], edi
inc dword [edi]
jmp 0x4d7dde
push eax
call fcn.00518654
mov dword [ebx + 8], eax
mov eax, dword [ebx]
test eax, eax
je 0x4fbe50
push eax
call fcn.004e055c
add esp, 4
mov eax, dword [ebx + 8]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004dec6b
add esp, 4
xor ecx, ecx
mov dword [ebx], eax
mov word [eax + esi*2], cx
jmp 0x4d7dc8
or dword [0x4ba6d4], 1
push 0x4ba6b4
call 0x51d419
push 0x429ffd
call fcn.004e082c
add esp, 4
jmp 0x4d7e71
cmp edx, edi
jne 0x4fc041
cmp eax, edi
jne 0x4d7eed
jmp 0x4d7ea6
xor edi, edi
xor eax, eax
jmp 0x4d7ee3
or eax, 0xffffffff
xor edi, edi
jmp 0x4d7ee3
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.004db170
jmp 0x4d7ee3
lea eax, [esi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
je 0x4d7efe
push eax
push ebx
mov dword [esp + 0x4c], eax
call fcn.00515127
add esp, 8
test al, al
je 0x4fc08a
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov dword [eax + 0x1c], esi
mov esi, eax
cmp dword [eax + 0x18], edi
je 0x4d7efe
add eax, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x18], esi
mov dword [esp + 0x74], esi
mov esi, dword [ecx]
jmp 0x4d7e90
push ebx
push eax
mov dword [esp + 0x4c], eax
call fcn.00515127
add esp, 8
test al, al
je 0x4fc0d8
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov dword [eax + 0x18], esi
mov esi, eax
cmp dword [eax + 0x1c], edi
je 0x4d7efe
add eax, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x1c], esi
mov dword [esp + 0x58], esi
mov esi, dword [ecx]
jmp 0x4d7e90
cmp edx, edi
jne 0x4fc124
cmp eax, edi
jne 0x4d7f81
jmp 0x4d7f39
xor edi, edi
xor eax, eax
jmp 0x4d7f73
or eax, 0xffffffff
xor edi, edi
jmp 0x4d7f73
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.004db170
jmp 0x4d7f73
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], esi
mov dword [esi + 0x18], edi
jmp 0x4d7f90
mov ebx, esi
jmp 0x4d7f90
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx*4 + 8]
movzx eax, word [edx + 8]
cmp ax, 0x4a
je 0x4fc166
cmp ax, 0x49
je 0x4fc166
add dword [esp + 0x10], 4
jmp 0x4d7fb5
add dword [esp + 0x10], 5
jmp 0x4d7fb5
cmp ax, 0x3f
jg 0x4d7fcb
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4d7fcb
push eax
call fcn.0051499d
jmp 0x4d7fcb
xor esi, esi
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x4fc1ae
push eax
call 0x51e94e
inc esi
cmp esi, dword [esp + 0xc4]
jb 0x4fc196
jmp 0x4d7fe4
mov eax, dword [edi + 4]
lea edx, [esp + 0x80]
push edx
push eax
call 0x54677e
mov byte [edi + 9], 0
jmp 0x4d80c4
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 4]
mov ecx, dword [eax + esi*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x79
push eax
call 0x5339f6
lea ecx, [esp + 0xd0]
push ecx
call 0x51d47b
lea ecx, [esp + 0xbc]
call fcn.004dca70
jmp 0x4fcc28
xor eax, eax
jmp 0x4d80bb
call fcn.004da760
cmp ebx, dword [edi]
jb 0x4fc216
jmp 0x4d80ef
mov eax, dword [eax + 0x38]
jmp 0x4d8112
mov ecx, dword [eax + 4]
mov esi, dword [ecx + 0x38]
jmp 0x4d8139
push eax
call fcn.0051499d
mov dword [ebx + 0xc], 0
jmp 0x4d814f
mov ecx, dword [ebx]
test ecx, ecx
je 0x4d815b
push ecx
call dword [0x48744c]
mov edx, dword [ebx]
push edx
call fcn.004dec76
add esp, 4
jmp 0x4d817f
mov eax, dword [ebx]
test eax, eax
je 0x4d817f
push eax
call fcn.00516180
jmp 0x4d817f
mov eax, ebx
call fcn.004dc350
jmp 0x4d817f
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ecx
call fcn.004dec76
mov edx, dword [ebx]
add esp, 4
push edx
call fcn.004dec76
add esp, 4
jmp 0x4d817f
mov eax, dword [ebx]
test eax, eax
je 0x4d817f
push eax
call 0x51d3d6
jmp 0x4d817f
dec eax
cmp eax, 0xb
ja 0x4d81cb
jmp dword [eax*4 + 0x42f07d]
xor eax, eax
jmp 0x4d81c8
mov eax, dword [eax + 0x38]
jmp 0x4d81e3
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [eax], 0
call fcn.004d6f70
mov dword [esi + 8], 1
mov dword [esi], 0
jmp 0x4d81cb
mov eax, esi
call fcn.004d1cf0
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x94], ecx
jmp 0x4d81ed
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x38]
jmp 0x4d81fa
mov eax, esi
call fcn.004d1cf0
add eax, 0x20
push eax
lea ebx, [esp + 0xa4]
call fcn.004d6eb0
jmp 0x4d8204
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x38]
test eax, eax
je 0x4fc4ba
push eax
call 0x51f02d
mov dword [edi + 4], esi
mov byte [edi + 9], 0
jmp 0x4d821b
mov byte [edi + 9], 1
jmp 0x4d82fc
push eax
call fcn.0051499d
mov dword [esi + 0x2c], 0
jmp 0x4d8242
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x4d824e
push ecx
call dword [0x48744c]
mov eax, dword [esi + 0x20]
push eax
call fcn.004dec76
add esp, 4
jmp 0x4d8272
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4d8272
push eax
call fcn.00516180
jmp 0x4d8272
lea eax, [esi + 0x20]
call fcn.004dc350
jmp 0x4d8272
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.004dec76
mov eax, dword [esi + 0x20]
add esp, 4
push eax
call fcn.004dec76
add esp, 4
jmp 0x4d8272
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4d8272
push eax
call 0x51d3d6
jmp 0x4d8272
mov edx, dword [ebx]
push edx
call fcn.004e055c
mov eax, dword [ebx + 0xc]
add esp, 4
push eax
call fcn.004dec76
add esp, 4
jmp 0x4d8298
mov ecx, dword [esi]
test ecx, ecx
je 0x4d82b4
push ecx
call dword [0x48744c]
mov ecx, dword [esi]
push ecx
call fcn.004dec76
add esp, 4
jmp 0x4d82d8
mov eax, dword [esi]
test eax, eax
je 0x4d82d8
push eax
call fcn.00516180
jmp 0x4d82d8
mov eax, esi
call fcn.004dc350
jmp 0x4d82d8
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.004dec76
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.004dec76
add esp, 4
jmp 0x4d82d8
mov eax, dword [esi]
test eax, eax
je 0x4d82d8
push eax
call 0x51d3d6
jmp 0x4d82d8
mov ecx, dword [ecx + 0x38]
jmp 0x4d8313
mov eax, dword [eax + 0x38]
jmp 0x4d832a
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x38]
jmp 0x4d8346
push eax
call fcn.0051499d
mov dword [ebx + 0xc], 0
jmp 0x4d835f
mov ecx, dword [ebx]
test ecx, ecx
je 0x4d836b
push ecx
call dword [0x48744c]
mov ecx, dword [ebx]
push ecx
call fcn.004dec76
add esp, 4
jmp 0x4d838f
mov eax, dword [ebx]
test eax, eax
je 0x4d838f
push eax
call fcn.00516180
jmp 0x4d838f
mov eax, ebx
call fcn.004dc350
jmp 0x4d838f
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push eax
call fcn.004dec76
mov ecx, dword [ebx]
add esp, 4
push ecx
call fcn.004dec76
add esp, 4
jmp 0x4d838f
mov eax, dword [ebx]
test eax, eax
je 0x4d838f
push eax
call 0x51d3d6
jmp 0x4d838f
dec eax
cmp eax, 0xb
ja 0x4d83b1
jmp dword [eax*4 + 0x42f0ad]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x38]
jmp 0x4d83c6
mov eax, dword [0x4b9020]
mov esi, dword [eax + 8]
push eax
call 0x542cf8
mov ecx, esi
mov dword [0x4b9020], ecx
mov byte [0x4b9025], 0
jmp 0x4d83dd
mov ebx, dword [esp + 0x64]
mov byte [0x4b9025], 1
jmp 0x4d84e7
push eax
mov ecx, ebx
call fcn.004d9400
jmp 0x4d8419
mov ecx, dword [edi]
push ecx
call fcn.004e055c
mov edx, dword [edi + 0xc]
add esp, 4
push edx
call fcn.004dec76
add esp, 4
jmp 0x4d843e
mov ecx, dword [ebx]
test ecx, ecx
je 0x4d845a
push ecx
call dword [0x48744c]
mov eax, dword [ebx]
push eax
call fcn.004dec76
add esp, 4
jmp 0x4d847e
mov eax, dword [ebx]
test eax, eax
je 0x4d847e
push eax
call fcn.00516180
jmp 0x4d847e
mov eax, ebx
call fcn.004dc350
jmp 0x4d847e
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.004dec76
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.004dec76
add esp, 4
jmp 0x4d847e
mov eax, dword [ebx]
test eax, eax
je 0x4d847e
push eax
call 0x51d3d6
jmp 0x4d847e
push eax
call fcn.0051499d
mov dword [esp + 0xac], 0
jmp 0x4d850c
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x4d8540
push esi
call dword [0x48744c]
push esi
call fcn.004dec76
add esp, 4
jmp 0x4d8540
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x4d8540
push eax
call fcn.00516180
jmp 0x4d8540
lea eax, [esp + 0xa0]
call fcn.004dc350
jmp 0x4d8540
mov esi, dword [esp + 0xa0]
mov edx, dword [esi + 4]
push edx
call fcn.004dec76
add esp, 4
push esi
call fcn.004dec76
add esp, 4
jmp 0x4d8540
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x4d8540
push eax
call 0x51d3d6
jmp 0x4d8540
push eax
call fcn.0051499d
mov dword [esp + 0x8c], 0
mov edx, 1
xor ecx, ecx
jmp 0x4d856b
cmp dword [esp + 0x80], ecx
je 0x4d8598
mov esi, dword [esp + 0x80]
push esi
call dword [0x48744c]
push esi
call fcn.004dec76
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x4d8598
cmp dword [esp + 0x80], ecx
je 0x4d8598
mov eax, dword [esp + 0x80]
push eax
call fcn.00516180
mov edx, 1
xor ecx, ecx
jmp 0x4d8598
lea eax, [esp + 0x80]
call fcn.004dc350
mov edx, 1
xor ecx, ecx
jmp 0x4d8598
mov esi, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push ecx
call fcn.004dec76
add esp, 4
push esi
call fcn.004dec76
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x4d8598
cmp dword [esp + 0x80], ecx
je 0x4d8598
mov edx, dword [esp + 0x80]
push edx
call 0x51d3d6
mov edx, 1
xor ecx, ecx
jmp 0x4d8598
push eax
call fcn.0051499d
mov dword [esp + 0x2c], 0
mov edx, 1
xor ecx, ecx
jmp 0x4d85a4
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x4d85d5
push eax
call dword [0x48744c]
mov eax, dword [esp + 0x20]
push eax
call fcn.004dec76
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x4d85d5
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x4d85d5
push eax
call fcn.00516180
mov edx, 1
xor ecx, ecx
jmp 0x4d85d5
lea eax, [esp + 0x20]
call fcn.004dc350
mov edx, 1
xor ecx, ecx
jmp 0x4d85d5
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.004dec76
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.004dec76
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x4d85d5
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x4d85d5
push eax
call 0x51d3d6
mov edx, 1
xor ecx, ecx
jmp 0x4d85d5
mov edx, dword [edi]
push edx
call fcn.004e055c
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.004dec76
add esp, 4
jmp 0x4d8633
mov ecx, dword [esi]
test ecx, ecx
je 0x4d864f
push ecx
call dword [0x48744c]
mov ecx, dword [esi]
push ecx
call fcn.004dec76
add esp, 4
jmp 0x4d8673
mov eax, dword [esi]
test eax, eax
je 0x4d8673
push eax
call fcn.00516180
jmp 0x4d8673
mov eax, esi
call fcn.004dc350
jmp 0x4d8673
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.004dec76
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.004dec76
add esp, 4
jmp 0x4d8673
mov eax, dword [esi]
test eax, eax
je 0x4d8673
push eax
call 0x51d3d6
jmp 0x4d8673
mov eax, dword [esp + 0x7c]
push eax
push 0x70
mov ecx, dword [ebp + 8]
push ecx
call 0x5339f6
lea esi, [esp + 0x20]
call fcn.004d6f70
lea ecx, [esp + 0x60]
call fcn.00513c89
lea ecx, [esp + 0x30]
call fcn.004dea60
mov eax, 1
jmp 0x4d869f