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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e4
push ebx
push esi
push edi
mov edi, ecx
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x30], edi
call fcn.00519180
lea eax, [ebp + 8]
push eax
lea ecx, [esp + 0x14]
call fcn.004f71b0
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x14]
call fcn.004f6ec0
mov edx, dword [eax + 4]
mov eax, dword [eax]
push 1
push 0x10079018
push edx
push eax
lea ecx, [esp + 0x164]
call fcn.004f6f80
mov ecx, eax
call fcn.004f70a0
test eax, eax
je 0x4d1cbc
mov ecx, dword [0x10083c28]
mov edx, dword [0x10083c2c]
mov eax, dword [0x10083c30]
mov dword [esp + 0x80], ecx
mov cx, word [0x10083c34]
mov word [esp + 0x8c], cx
lea ecx, [esp + 0x10]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
call fcn.004f7040
cmp ax, 6
jb 0x4d1cbc
push 5
lea ecx, [esp + 0x14]
call fcn.004f72f0
cmp ax, 0x3a
jne 0x4d1cbc
push 4
lea ecx, [esp + 0x14]
call fcn.004f72f0
mov ecx, dword [edi + 8]
mov word [esp + 0x88], ax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0x1c]
push eax
call edx
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4d1ab2
mov esi, dword [eax]
mov ebx, eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x180]
add esi, 0x14
call fcn.004f6f60
mov ecx, eax
call fcn.004f6ee0
mov edx, dword [esi]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, ebx
call edx
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4d1aa5
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
test eax, eax
je 0x4d1aa5
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xe0]
call fcn.004f7180
mov ecx, dword [ebp + 0x10]
push eax
call fcn.004f7230
lea ecx, [esp + 0xdc]
call fcn.004f7250
lea ecx, [esp + 0x10]
mov edi, 6
call fcn.004f6ee0
cmp word [eax], 0xc
jne 0x4d1a3b
push 0x100782ec
lea ecx, [esp + 0x190]
call fcn.004f6f60
jmp 0x4d1a78
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov esi, dword [eax + 4]
add esi, 0xc
cmp word [esi], 0x5c
jne 0x4d1a58
add esi, 2
mov edi, 7
lea ecx, [esp + 0x10]
call fcn.004f6ee0
movzx eax, word [eax]
shr ax, 1
sub ax, di
lea ecx, [esp + 0x1a4]
push eax
push esi
call fcn.004f6f40
mov ecx, eax
call fcn.004f6ee0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.004f71d0
lea ecx, [esp + 0x20]
call fcn.0050ed20
lea ecx, [esp + 0x1c]
call fcn.0050ed20
jmp 0x4d283d
lea ecx, [esp + 0x20]
call fcn.0050ed20
mov eax, dword [esp + 0x1c]
cmp dword [0x100b7134], 0
je 0x4d1cb0
push 4
lea ecx, [esp + 0x14]
call fcn.004f72f0
mov ecx, dword [0x100b7168]
movzx eax, ax
movzx eax, ax
movzx esi, word [ecx + eax*2]
sub esi, 0x41
cmp esi, 0x20
jae 0x4d1cac
mov edx, dword [0x100b7078]
mov ebx, dword [edx + 0xa94]
push 0
push 0x24
lea eax, [esp + 0x1d4]
push eax
push 0x17
call dword [0x10078204]
push eax
call ebx
test eax, eax
jne 0x4d1cac
mov al, byte [esp + esi + 0x1d0]
test al, al
je 0x4d1b28
cmp al, 1
je 0x4d1b28
cmp al, 4
jne 0x4d1cac
lea ecx, [esp + 0xe4]
push ecx
lea edx, [esp + 0xb0]
add edi, 0x34
push edx
mov ecx, edi
mov dword [esp + 0xb4], esi
call fcn.004ce100
test eax, eax
je 0x4d1b70
mov ecx, dword [ebp + 0x10]
call fcn.004f7300
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.004f7230
lea ecx, [esp + 0x1c]
call fcn.0050ed20
jmp 0x4d283d
xor eax, eax
mov dword [esp + 0x6c], 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0xa8], esi
mov ecx, dword [esp + 0x6c]
push ecx
lea ecx, [esp + 0x64]
call fcn.004aa330
lea edx, [esp + 0x30]
push edx
mov eax, edx
push eax
mov ecx, edi
call fcn.004ce830
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0x6c]
push ecx
push ebx
lea edx, [esp + 0x90]
push edx
call dword [0x100b7134]
mov esi, eax
lea eax, [esp + 0xa8]
push eax
mov ecx, edi
call fcn.004ce2f0
cmp esi, 0xea
je 0x4d1b8d
test esi, esi
jne 0x4d1ca3
push 0x10083c18
lea ecx, [esp + 0xd4]
call fcn.004aae10
add ebx, 2
push ebx
lea ecx, [esp + 0xd4]
call fcn.004aa190
mov ecx, dword [esp + 0xd0]
push ecx
lea ecx, [esp + 0x108]
call fcn.004f6f60
mov ecx, eax
call fcn.004f6ee0
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push esi
push edx
mov edx, dword [eax]
push ecx
mov ecx, dword [esp + 0x38]
push edx
call fcn.004d18b0
mov ecx, esi
call fcn.004f6ee0
cmp word [eax], 0
jbe 0x4d1c69
mov ecx, esi
call fcn.004f7040
sub ax, 1
mov ecx, esi
push eax
call fcn.004f72f0
cmp ax, 0x5c
je 0x4d1c69
push 0x10078be0
mov ecx, esi
call fcn.004f7420
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov eax, dword [eax + 4]
add eax, 0xe
push eax
mov ecx, esi
call fcn.004f7420
lea ecx, [esp + 0xd0]
call fcn.004aa5e0
lea ecx, [esp + 0x60]
call fcn.004aa300
lea ecx, [esp + 0x1c]
call fcn.0050ed20
jmp 0x4d283d
lea ecx, [esp + 0x60]
call fcn.004aa300
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4d1cbc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [esp + 0x2c]
add ebx, 0x10
mov esi, ebx
push 0xffffffffffffffff
lea eax, [esp + 0x4f]
push eax
mov ecx, esi
mov dword [esp + 0x98], ebx
mov dword [esp + 0x78], esi
call fcn.004ae570
test al, al
je 0x4d1ce8
add dword [esi + 0x10], 1
mov al, 1
mov ecx, ebx
mov byte [esp + 0x74], al
call fcn.004cd840
test eax, eax
mov dword [esp + 0x5c], eax
je 0x4d1da9
nop
lea ecx, [esp + 0x5c]
push ecx
mov ecx, ebx
call fcn.004ce7a0
push eax
lea ecx, [esp + 0x38]
call fcn.004f71b0
push 1
lea ecx, [esp + 0x14]
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x3c]
call fcn.004f6ee0
push eax
call dword [0x100b731c]
test eax, eax
je 0x4d1ed9
lea ecx, [esp + 0x34]
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x50]
call fcn.004f71b0
push 0x10078be0
lea ecx, [esp + 0x50]
call fcn.004f7420
push 1
lea ecx, [esp + 0x50]
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x18]
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x170]
call fcn.004f6fa0
mov ecx, eax
call fcn.004f6fd0
test eax, eax
jne 0x4d1f05
lea ecx, [esp + 0x4c]
call fcn.004f7250
lea ecx, [esp + 0x34]
call fcn.004f7250
cmp dword [esp + 0x5c], 0
jne 0x4d1d00
lea ecx, [esp + 0x70]
call fcn.004af6f0
push 0x10083c04
lea ecx, [esp + 0xcc]
call fcn.004f6f60
push 1
lea ecx, [esp + 0xcc]
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x18]
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x1a0]
call fcn.004f6fa0
mov ecx, eax
call fcn.004f6fd0
test eax, eax
je 0x4d1e43
lea ecx, [esp + 0xc8]
call fcn.004f7040
movzx edi, ax
lea ecx, [esp + 0x10]
add edi, edi
call fcn.004f6ee0
mov esi, dword [eax + 4]
lea ecx, [esp + 0x10]
add esi, edi
call fcn.004f7040
movzx edi, ax
lea ecx, [esp + 0x10]
add edi, edi
call fcn.004f6ee0
mov eax, dword [eax + 4]
add eax, edi
cmp esi, eax
je 0x4d1e43
cmp word [esi], 0x5c
je 0x4d1f7e
add esi, 2
cmp esi, eax
jne 0x4d1e32
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov edi, dword [eax + 4]
xor esi, esi
cmp word [edi], 0x5c
je 0x4d1e6c
lea ecx, [esp + 0x10]
call fcn.004f6ee0
movzx edx, word [eax]
movzx ecx, si
add ecx, ecx
cmp ecx, edx
jne 0x4d1eb5
lea ecx, [esp + 0x78]
call fcn.004f7130
lea eax, [esp + 0x78]
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.004f6ee0
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x180]
call fcn.004f6f40
mov ecx, eax
call fcn.004f6ee0
push eax
call fcn.004e5e60
add esp, 8
test eax, eax
lea ecx, [esp + 0x78]
je 0x4d2024
call fcn.004f7250
lea ecx, [esp + 0x10]
call fcn.004f6ee0
movzx eax, word [eax]
movzx edx, si
add edx, edx
cmp edx, eax
je 0x4d2090
add esi, 1
add edi, 2
jmp 0x4d1e51
mov ecx, dword [ebp + 0x10]
lea edx, [esp + 0x34]
push edx
call fcn.004f7230
mov ecx, dword [ebp + 0x14]
call fcn.004f7300
lea ecx, [esp + 0x34]
call fcn.004f7250
lea ecx, [esp + 0x70]
call fcn.004af6f0
jmp 0x4d283d
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x34]
push eax
call fcn.004f7230
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov cx, word [eax]
shr cx, 1
movzx esi, cx
lea ecx, [esp + 0x4c]
call fcn.004f7040
movzx edi, ax
lea ecx, [esp + 0x4c]
add edi, edi
call fcn.004f7040
sub si, ax
lea ecx, [esp + 0x10]
push esi
call fcn.004f6ee0
mov edx, dword [eax + 4]
add edx, edi
push edx
lea ecx, [esp + 0x11c]
call fcn.004f6f40
mov ecx, eax
call fcn.004f6ee0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.004f71d0
lea ecx, [esp + 0x4c]
call fcn.004f7250
jmp 0x4d1eee
add esi, 2
cmp esi, eax
je 0x4d1e43
lea esp, [esp]
movzx ecx, word [esi]
cmp cx, 0x5c
je 0x4d1e43
cmp cx, 0x3a
je 0x4d1faf
add esi, 2
cmp esi, eax
jne 0x4d1f90
jmp 0x4d1e43
cmp esi, eax
je 0x4d1e43
cmp word [esi], 0x5c
je 0x4d1fc9
add esi, 2
cmp esi, eax
jne 0x4d1fb7
jmp 0x4d1e43
push 0x10083c18
lea ecx, [esp + 0xb4]
call fcn.004f7180
push esi
lea ecx, [esp + 0xb4]
call fcn.004f7420
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0xb4]
call fcn.004f6ec0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ecx
mov ecx, dword [eax + 4]
push edx
mov edx, dword [eax]
push ecx
mov ecx, dword [esp + 0x38]
push edx
call fcn.004d18b0
lea ecx, [esp + 0xb0]
call fcn.004f7250
jmp 0x4d283d
push ecx
lea ecx, [esp + 0xa4]
call fcn.004f71b0
lea ecx, [esp + 0x10]
call fcn.004f6ee0
movzx edx, word [eax]
shr dx, 1
sub dx, si
lea ecx, [esp + 0x134]
push edx
push edi
call fcn.004f6f40
mov ecx, eax
call fcn.004f6ee0
push eax
lea ecx, [esp + 0xa4]
call fcn.004f7260
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x14]
call fcn.004f7230
lea ecx, [esp + 0xa0]
call fcn.004f7250
lea ecx, [esp + 0x78]
call fcn.004f7250
jmp 0x4d1e43
mov ecx, ebx
call fcn.004a93e0
call dword [0x10078058]
mov ecx, dword [ebx + 8]
mov esi, eax
cmp esi, ecx
lea eax, [ebx + 8]
je 0x4d20d0
mov edx, dword [eax]
test edx, edx
jne 0x4d240f
push edx
push esi
push eax
call dword [0x1007820c]
test eax, eax
sete al
test al, al
je 0x4d240f
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov byte [esp + 0x1b], 1
mov ecx, ebx
call fcn.004a93e0
call dword [0x10078058]
mov esi, eax
mov eax, dword [ebx + 8]
cmp esi, eax
lea edi, [ebx + 8]
je 0x4d2119
mov ecx, dword [edi]
test ecx, ecx
jne 0x4d242a
push ecx
push esi
push edi
call dword [0x1007820c]
test eax, eax
sete al
test al, al
je 0x4d242a
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov byte [esp + 0x27], 1
mov ecx, ebx
call fcn.004a93e0
call dword [0x10078058]
mov edx, dword [edi]
mov esi, eax
cmp esi, edx
je 0x4d215e
mov eax, dword [edi]
test eax, eax
jne 0x4d2445
push eax
push esi
push edi
call dword [0x1007820c]
test eax, eax
sete al
test al, al
je 0x4d2445
mov dword [ebx + 0x10], 0
add dword [ebx + 0x10], 1
mov al, 1
test al, al
mov ecx, dword [ebx + 0x18]
mov esi, dword [0x100780ac]
mov dword [esp + 0x9c], ecx
je 0x4d21a9
add dword [ebx + 0x10], 0xffffffff
jne 0x4d21a9
push 0
push edi
mov dword [ebx + 0x10], 0
call dword [0x100780b0]
mov edx, dword [ebx + 0xc]
test edx, edx
lea eax, [ebx + 0xc]
jle 0x4d21a9
push eax
call dword [0x1007806c]
mov eax, dword [ebx + 0x14]
push 0
push 1
push eax
call esi
cmp byte [esp + 0x27], 0
je 0x4d21e1
add dword [ebx + 0x10], 0xffffffff
jne 0x4d21e1
push 0
push edi
mov dword [ebx + 0x10], 0
call dword [0x100780b0]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0x4d21e1
push eax
call dword [0x1007806c]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call esi
mov eax, dword [esp + 0x9c]
test eax, eax
mov dword [esp + 0x68], eax
je 0x4d22b3
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
call fcn.004ce7a0
push eax
lea ecx, [esp + 0x40]
call fcn.004f71b0
push 1
lea ecx, [esp + 0x14]
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x44]
call fcn.004f6ee0
push eax
call dword [0x100b731c]
test eax, eax
lea ecx, [esp + 0x3c]
je 0x4d245c
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x58]
call fcn.004f71b0
push 0x10078be0
lea ecx, [esp + 0x58]
call fcn.004f7420
lea ecx, [esp + 0x1c4]
push ecx
lea ecx, [esp + 0x14]
call fcn.004f6ec0
push 1
lea ecx, [esp + 0x58]
mov esi, eax
call fcn.004f6ee0
mov edx, dword [esi + 4]
push eax
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x154]
call fcn.004f6f80
mov ecx, eax
call fcn.004f6fd0
test eax, eax
jne 0x4d24c6
lea ecx, [esp + 0x54]
call fcn.004f7250
lea ecx, [esp + 0x3c]
call fcn.004f7250
cmp dword [esp + 0x68], 0
jne 0x4d21f4
mov esi, dword [0x100780ac]
cmp byte [esp + 0x1b], 0
je 0x4d22ee
add dword [ebx + 0x10], 0xffffffff
jne 0x4d22ee
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100780b0]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0x4d22ee
push eax
call dword [0x1007806c]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call esi
push 0
push 0x40
lea ecx, [esp + 0x18]
call fcn.004f6ee0
push eax
push 0
lea ecx, [esp + 0x1bc]
call fcn.004f6f10
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov ax, word [eax]
shr ax, 1
movzx edi, ax
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], edi
movzx ebx, di
call fcn.004f6ee0
mov edx, dword [eax + 4]
movzx ecx, di
lea esi, [edx + ecx*2]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x30], 0
cmp word [esi], 0x5c
je 0x4d2350
cmp bx, di
jne 0x4d260e
lea ecx, [esp + 0x10]
call fcn.004f6ee0
lea ecx, [ebx + ebx]
mov word [eax], cx
mov edx, dword [0x100b7078]
push 0x21
mov dword [esp + 0x48], 0
mov esi, dword [edx + 0x150]
push 3
lea ecx, [esp + 0xf4]
call fcn.004f6ef0
mov ecx, eax
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x1b8]
call fcn.004f6ee0
push eax
push 0x100000
lea eax, [esp + 0x58]
push eax
call esi
test eax, eax
jne 0x4d25fd
mov edi, 0x400
xor esi, esi
test edi, edi
jbe 0x4d23c2
push edi
call fcn.004c1680
add esp, 4
mov esi, eax
mov ecx, dword [0x100b7078]
mov eax, dword [ecx + 0x8f8]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0xe8]
push edx
push edi
push esi
push 1
push ecx
call eax
cmp eax, 0xc0000004
je 0x4d23fa
cmp eax, 0x80000005
je 0x4d23fa
cmp eax, 0xc0000023
jne 0x4d2593
add edi, 0x100
test esi, esi
je 0x4d23b1
push esi
call fcn.004c17d0
add esp, 4
jmp 0x4d23b1
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.004ab110
test al, al
jne 0x4d20d0
mov byte [esp + 0x1b], al
jmp 0x4d20d9
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.004ab110
test al, al
jne 0x4d2119
mov byte [esp + 0x27], al
jmp 0x4d2122
push 0xffffffffffffffff
push esi
mov ecx, ebx
call fcn.004ab110
test al, al
jne 0x4d215e
jmp 0x4d2164
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.004f7230
mov ecx, dword [ebp + 0x14]
call fcn.004f7300
lea ecx, [esp + 0x3c]
call fcn.004f7250
cmp byte [esp + 0x1b], 0
je 0x4d283d
add dword [ebx + 0x10], 0xffffffff
jne 0x4d283d
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100780b0]
mov edx, dword [ebx + 0xc]
test edx, edx
lea eax, [ebx + 0xc]
jle 0x4d283d
push eax
call dword [0x1007806c]
mov eax, dword [ebx + 0x14]
push 0
push 1
push eax
call dword [0x100780ac]
jmp 0x4d283d
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.004f7230
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov dx, word [eax]
shr dx, 1
lea ecx, [esp + 0x54]
movzx esi, dx
call fcn.004f7040
movzx edi, ax
lea ecx, [esp + 0x54]
add edi, edi
call fcn.004f7040
sub si, ax
lea ecx, [esp + 0x10]
push esi
call fcn.004f6ee0
mov eax, dword [eax + 4]
add eax, edi
push eax
lea ecx, [esp + 0x18c]
call fcn.004f6f40
mov ecx, eax
call fcn.004f6ee0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.004f71d0
lea ecx, [esp + 0x54]
call fcn.004f7250
lea ecx, [esp + 0x3c]
call fcn.004f7250
cmp byte [esp + 0x1b], 0
je 0x4d283d
add dword [ebx + 0x10], 0xffffffff
jne 0x4d283d
push 0
lea eax, [ebx + 8]
push eax
mov dword [ebx + 0x10], 0
call dword [0x100780b0]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
lea eax, [ebx + 0xc]
jle 0x4d283d
push eax
call dword [0x1007806c]
mov edx, dword [ebx + 0x14]
push 0
push 1
push edx
call dword [0x100780ac]
jmp 0x4d283d
test eax, eax
jne 0x4d25f0
mov edx, dword [esi + 4]
mov eax, dword [esi]
push edx
push eax
lea ecx, [esp + 0x18]
call fcn.004f71d0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
sub ecx, ebx
push ecx
push edx
lea ecx, [esp + 0xfc]
call fcn.004f6f40
mov ecx, eax
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x14]
call fcn.004f7260
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov ax, word [eax]
shr ax, 1
movzx ecx, ax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], 1
jmp 0x4d25f4
test esi, esi
je 0x4d25fd
push esi
call fcn.004c17d0
add esp, 4
lea ecx, [esp + 0x44]
call fcn.004c8af0
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x10]
call fcn.004f6ee0
cmp dword [eax + 4], esi
je 0x4d2636
sub esi, 2
add ebx, 0xffff
cmp dword [esp + 0x30], 0
mov dword [esp + 0x1c], esi
je 0x4d2341
jmp 0x4d264c
cmp dword [esp + 0x30], 0
jne 0x4d264c
lea ecx, [esp + 0x10]
call fcn.004f6ee0
lea edx, [edi + edi]
mov word [eax], dx
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov eax, dword [eax + 4]
lea ecx, [esp + 0x10]
mov dword [esp + 0x1c], eax
xor edi, edi
call fcn.004f6ee0
mov cx, word [eax]
shr cx, 1
movzx edx, cx
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x1c]
cmp word [eax], 0x5c
je 0x4d2689
cmp di, word [esp + 0x20]
jne 0x4d277c
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov edx, dword [esp + 0x1c]
lea ecx, [edi + edi]
mov word [eax], cx
xor ebx, ebx
cmp word [edx], 0x5c
jne 0x4d26b6
lea ecx, [esp + 0x10]
call fcn.004f6ee0
add word [eax], 2
mov ebx, 1
mov eax, dword [0x100b7078]
push 0x21
mov dword [esp + 0x30], 0
mov esi, dword [eax + 0x150]
push 3
lea ecx, [esp + 0x104]
call fcn.004f6ef0
mov ecx, eax
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x1b8]
call fcn.004f6ee0
push eax
push 0x100001
lea ecx, [esp + 0x40]
push ecx
call esi
test eax, eax
jne 0x4d2768
push 0x400
call fcn.004c1680
mov edx, dword [0x100b7078]
mov esi, dword [edx + 0x448]
add esp, 4
push 1
push 0
push 0
push 3
push 0x400
push eax
lea ecx, [esp + 0x124]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0x400
call fcn.004f6ef0
mov ecx, eax
call fcn.004f6ee0
push eax
mov eax, dword [esp + 0x48]
push 0
push 0
push 0
push eax
call esi
test eax, eax
je 0x4d2789
lea ecx, [esp + 0x94]
call fcn.004aa300
lea ecx, [esp + 0x2c]
call fcn.004c8af0
cmp di, word [esp + 0x20]
je 0x4d2858
add edi, 1
add dword [esp + 0x1c], 2
jmp 0x4d2674
mov esi, dword [ebp + 0x10]
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.004f7230
test ebx, ebx
je 0x4d27a8
mov ecx, esi
call fcn.004f6ee0
add word [eax], 0xfffe
mov eax, dword [esp + 0x20]
cmp ax, di
jne 0x4d27d2
push 0x100782ec
lea ecx, [esp + 0x120]
call fcn.004f6f60
mov ecx, eax
call fcn.004f6ee0
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
jmp 0x4d2806
sub eax, edi
sub eax, 1
push eax
lea ecx, [esp + 0x14]
call fcn.004f6ee0
mov edx, dword [eax + 4]
movzx ecx, di
lea eax, [edx + ecx*2 + 2]
push eax
lea ecx, [esp + 0x134]
call fcn.004f6f40
mov ecx, eax
call fcn.004f6ee0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, dword [ebp + 0x14]
call fcn.004f71d0
lea ecx, [esp + 0x94]
call fcn.004aa300
lea ecx, [esp + 0x2c]
call fcn.004c8af0
mov edx, dword [ebp + 0x10]
sub esp, 8
mov ecx, esp
push edx
call fcn.004f71b0
mov ecx, dword [esp + 0x98]
call fcn.004d1780
lea ecx, [esp + 0x10]
call fcn.004f7250
lea ecx, [esp + 0x28]
call fcn.005191a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov ecx, dword [esp + 0x20]
lea edx, [ecx + ecx]
push 1
push 0x10079018
lea ecx, [esp + 0x18]
mov word [eax], dx
call fcn.004f6ee0
push eax
lea ecx, [esp + 0x148]
call fcn.004f6fa0
mov ecx, eax
call fcn.004f70a0
test eax, eax
je 0x4d29be
mov eax, dword [0x10083c28]
mov ecx, dword [0x10083c2c]
mov edx, dword [0x10083c30]
mov dword [esp + 0xb8], eax
mov ax, word [0x10083c34]
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0xc0], edx
mov word [esp + 0xc4], ax
call fcn.004f6ee0
mov cx, word [eax]
and cx, 0xfffe
cmp cx, 0xc
jb 0x4d29be
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov edx, dword [eax + 4]
cmp word [edx + 0xa], 0x3a
jne 0x4d29be
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov eax, dword [eax + 4]
mov cx, word [eax + 8]
lea edx, [esp + 0xb8]
mov word [esp + 0xc0], cx
push edx
lea ecx, [esp + 0x150]
call fcn.004f6f60
mov ecx, eax
call fcn.004f6ee0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
call fcn.004f71d0
lea ecx, [esp + 0x10]
mov edi, 6
call fcn.004f6ee0
cmp word [eax], 0xc
jne 0x4d2966
push 0x100782ec
lea ecx, [esp + 0x160]
call fcn.004f6f60
jmp 0x4d29a3
lea ecx, [esp + 0x10]
call fcn.004f6ee0
mov esi, dword [eax + 4]
add esi, 0xc
cmp word [esi], 0x5c
jne 0x4d2983
add esi, 2
mov edi, 7
lea ecx, [esp + 0x10]
call fcn.004f6ee0
movzx eax, word [eax]
shr ax, 1
sub ax, di
lea ecx, [esp + 0x16c]
push eax
push esi
call fcn.004f6f40
mov ecx, eax
call fcn.004f6ee0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
call fcn.004f71d0
jmp 0x4d2823
mov ecx, dword [ebp + 0x10]
call fcn.004f7300
mov ecx, dword [ebp + 0x14]
lea eax, [esp + 0x10]
push eax
call fcn.004f7230
jmp 0x4d283d