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

Disassembly:
sub esp, 0x70
mov eax, dword [0x519bc0]
xor eax, esp
mov dword [esp + 0x6c], eax
push ebp
push esi
push edi
mov edi, ecx
mov ecx, dword [edi + 0x64b420]
mov eax, dword [edi + 0x649380]
mov edx, dword [eax + 4]
xor esi, esi
lea ebp, [edi + 0x649380]
push esi
push ecx
mov ecx, ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x48], esi
call edx
test al, al
jne 0x4d8806
mov eax, dword [edi + 0x64b420]
push eax
mov ecx, 0x531158
call fcn.0043f990
pop edi
lea eax, [esi + 0x12]
pop esi
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
mov ecx, ebp
call fcn.004448a0
cmp edx, esi
jl 0x4d8823
jg 0x4d881a
cmp eax, 0x20000
jbe 0x4d8823
sub eax, 0x20000
sbb edx, esi
jmp 0x4d8827
xor eax, eax
xor edx, edx
push ebx
mov ebx, dword [ebp]
push esi
push edx
mov edx, dword [ebx + 0xc]
push eax
mov ecx, ebp
call edx
push 0x50aadc
push ebp
mov ecx, edi
call fcn.004d5e40
mov ecx, ebp
test eax, eax
jne 0x4d8876
call fcn.00444230
mov eax, dword [edi + 0x64b420]
push eax
mov ecx, 0x531158
call fcn.0043f440
pop ebx
pop edi
pop esi
mov eax, 3
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
call eax
push 0x50aadc
push ebp
mov ecx, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
call fcn.004d5e40
test eax, eax
je 0x4d88ba
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
mov ecx, ebp
call eax
push 0x50aadc
push ebp
mov ecx, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
call fcn.004d5e40
test eax, eax
jne 0x4d8897
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp]
mov edx, dword [edx + 0xc]
push 0
push eax
push ecx
mov ecx, ebp
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 8]
push 0x12
lea ecx, [esp + 0x4c]
push ecx
mov ecx, ebp
call edx
movzx eax, byte [esp + 0x49]
movzx ecx, byte [esp + 0x48]
movzx edx, byte [esp + 0x4b]
shl ax, 8
movzx eax, ax
or eax, ecx
movzx ecx, byte [esp + 0x4a]
inc eax
mov dword [edi + 0x64b42c], eax
dec eax
mov dword [edi + 0x64b430], eax
shl dx, 8
movzx eax, dx
movzx edx, byte [esp + 0x57]
or eax, ecx
movzx ecx, byte [esp + 0x55]
mov dword [esp + 0x10], eax
movzx eax, byte [esp + 0x56]
shl dx, 8
movzx ebx, dx
or ebx, eax
movzx eax, byte [esp + 0x54]
shl cx, 8
movzx edx, cx
movzx ecx, byte [esp + 0x4f]
shl ebx, 0x10
or ebx, edx
movzx edx, byte [esp + 0x4e]
or ebx, eax
shl cx, 8
or cx, dx
movzx eax, cx
movzx ecx, byte [esp + 0x52]
cdq
mov dword [esp + 0x3c], eax
movzx eax, byte [esp + 0x53]
shl ax, 8
mov dword [esp + 0x28], esi
mov dword [esp + 0x40], edx
movzx edx, byte [esp + 0x51]
movzx esi, ax
or esi, ecx
movzx ecx, byte [esp + 0x50]
shl dx, 8
movzx eax, dx
movzx edx, byte [esp + 0x58]
shl esi, 0x10
or esi, eax
movzx ax, byte [esp + 0x59]
shl ax, 8
or esi, ecx
or ax, dx
mov dword [esp + 0x24], ebx
mov word [edi + 0x64b4b0], ax
je 0x4d8a2d
movzx eax, ax
inc eax
push eax
call fcn.004e7106
add esp, 4
mov dword [edi + 0x64b4b4], eax
test eax, eax
je 0x4d929b
movzx ecx, word [edi + 0x64b4b0]
mov edx, dword [ebp]
mov edx, dword [edx + 8]
mov dword [esp + 0x34], ecx
movzx ecx, word [edi + 0x64b4b0]
push ecx
push eax
mov ecx, ebp
call edx
cmp eax, dword [esp + 0x34]
je 0x4d8a1f
mov eax, dword [edi + 0x64b4b4]
push eax
call fcn.004e68b2
add esp, 4
mov dword [edi + 0x64b4b4], 0
pop ebx
pop edi
pop esi
mov eax, 2
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
mov ecx, dword [edi + 0x64b4b4]
mov edx, dword [esp + 0x34]
mov byte [edx + ecx], 0
mov eax, dword [esp + 0x3c]
or eax, dword [esp + 0x40]
jne 0x4d8a53
mov ecx, ebp
call fcn.00444230
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
cmp dword [edi + 0x64b42c], 1
je 0x4d8a9d
cmp dword [edi + 0x648358], 0
jne 0x4d9983
mov ecx, dword [edi + 0x64b3fc]
push 0x502274
push ecx
call fcn.00453770
test al, al
jne 0x4d8a9d
mov ecx, ebp
call fcn.00444230
pop ebx
pop edi
pop esi
mov eax, 0x10
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
mov eax, dword [edi + 0x64b42c]
cmp eax, 1
je 0x4d8b44
mov ecx, dword [edi + 0x64b424]
mov eax, dword [edi + 0x64b420]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4d8ade
test dx, dx
je 0x4d8ada
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4d8ade
add eax, 4
add ecx, 4
test dx, dx
jne 0x4d8ab8
xor eax, eax
jmp 0x4d8ae3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4d8b44
mov ecx, ebp
call fcn.00444230
cmp word [0x559be2], 0x53
jne 0x4d8b1e
mov edx, dword [edi + 0x64b420]
push edx
push 0x48
call fcn.004035c0
pop ebx
pop edi
pop esi
mov eax, 0xc
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
mov eax, dword [edi + 0x64b420]
push eax
push 0x2d
call fcn.004035c0
pop ebx
pop edi
pop esi
mov eax, 0xc
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
xor eax, eax
mov ecx, 1
mov dword [edi + 0x64b490], eax
mov dword [edi + 0x64b498], eax
mov dword [edi + 0x64b49c], eax
cmp dword [edi + 0x648350], ecx
jne 0x4d8b6d
cmp dword [edi + 0x64b42c], ecx
je 0x4d8b7d
cmp dword [edi + 0x648358], eax
je 0x4d8bf9
mov ebx, dword [esp + 0x24]
cmp ebx, 0xffffffff
jne 0x4d8b8d
cmp dword [esp + 0x28], 0
je 0x4d8c8c
cmp esi, 0xffffffff
jne 0x4d8b9a
xor eax, eax
je 0x4d8c8c
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp]
mov edx, dword [edx + 0xc]
sub ecx, esi
mov esi, dword [esp + 0x18]
mov eax, 0
sbb esi, eax
sub ecx, 0x50
push 0
sbb esi, eax
push esi
push ecx
mov ecx, ebp
call edx
push 0x50aabc
push ebp
mov ecx, edi
call fcn.004d5e40
test eax, eax
je 0x4d8e26
mov eax, dword [ebp]
mov edx, dword [eax + 0x10]
mov ecx, ebp
call edx
mov ecx, 0xfffffffc
sub ecx, ebx
mov esi, 0xffffffff
sbb esi, dword [esp + 0x28]
add eax, ecx
adc edx, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp]
sub eax, 0x18
push 0
sbb ecx, 0
push ecx
push eax
mov eax, dword [edx + 0xc]
mov ecx, ebp
call eax
push 0x50aac4
push ebp
mov ecx, edi
call fcn.004d5ed0
test eax, eax
je 0x4d9200
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
mov ecx, ebp
call eax
sub eax, 4
sbb edx, 0
mov dword [esp + 0x18], edx
mov edx, dword [ebp]
mov edx, dword [edx + 8]
mov dword [esp + 0x14], eax
push 0x10
lea eax, [esp + 0x4c]
push eax
mov ecx, ebp
call edx
cmp eax, 0x10
je 0x4d8e4f
mov ecx, ebp
call fcn.00444230
mov eax, dword [edi + 0x64b420]
push eax
mov ecx, 0x531158
call fcn.0043fa30
pop ebx
pop edi
pop esi
mov eax, 0xb
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [ebp]
mov eax, dword [eax + 0xc]
sub ecx, 0x18
push 0
sbb edx, 0
push edx
push ecx
mov ecx, ebp
call eax
push 0x50aac4
push ebp
mov ecx, edi
call fcn.004d5ed0
test eax, eax
je 0x4d8bf9
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
mov ecx, ebp
call eax
mov ebx, edx
mov edx, dword [ebp]
mov edx, dword [edx + 8]
mov esi, eax
push 0x10
lea eax, [esp + 0x4c]
sub esi, 4
push eax
mov ecx, ebp
sbb ebx, 0
call edx
cmp eax, 0x10
jne 0x4d8c5c
push 0x50aadc
push ebp
mov ecx, edi
call fcn.004d5ed0
test eax, eax
je 0x4d8e60
movzx edx, byte [esp + 0x53]
movzx eax, byte [esp + 0x51]
shl dx, 8
movzx ecx, dx
movzx edx, byte [esp + 0x52]
or ecx, edx
shl ax, 8
movzx edx, ax
movzx eax, byte [esp + 0x50]
shl ecx, 0x10
or ecx, edx
or ecx, eax
mov dword [esp + 0x38], ecx
movzx ecx, byte [esp + 0x4f]
shl cx, 8
movzx edx, cx
movzx ecx, byte [esp + 0x4e]
or edx, ecx
movzx ecx, byte [esp + 0x4d]
shl cx, 8
shl edx, 0x10
movzx ecx, cx
or edx, ecx
movzx ecx, byte [esp + 0x4c]
or edx, ecx
xor eax, eax
or eax, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 0x57]
xor ecx, ecx
or edx, ecx
movzx ecx, byte [esp + 0x56]
shl ax, 8
mov dword [esp + 0x30], edx
movzx edx, byte [esp + 0x55]
movzx eax, ax
or eax, ecx
shl dx, 8
movzx ecx, dx
movzx edx, byte [esp + 0x54]
shl eax, 0x10
or eax, ecx
or eax, edx
mov dword [edi + 0x64b42c], eax
cmp eax, 1
jne 0x4d9983
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp]
mov edx, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
push 0
push ecx
push edx
mov ecx, ebp
call eax
push 0x50aacc
push ebp
mov ecx, edi
call fcn.004d5ed0
test eax, eax
jne 0x4d8bf9
mov edx, dword [ebp]
push eax
sub esi, 0x50
sbb ebx, eax
mov eax, dword [edx + 0xc]
push ebx
push esi
mov ecx, ebp
call eax
push ebp
mov ecx, edi
call fcn.004d5d40
test eax, eax
je 0x4d8e26
push 0x50aacc
lea ecx, [edi + 0x14]
push ecx
mov ecx, edi
call fcn.004d5ea0
test eax, eax
je 0x4d8e26
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
mov ecx, ebp
call eax
mov ecx, 0xfffffffc
sub ecx, dword [esp + 0x2c]
mov esi, 0xffffffff
sbb esi, dword [esp + 0x30]
jmp 0x4d8bed
mov edx, dword [edi + 0x64b420]
push edx
mov ecx, 0x531158
call fcn.0043f440
pop ebx
pop edi
pop esi
mov eax, 3
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
push 0x50aadc
push ebp
mov ecx, edi
call fcn.004d5ed0
test eax, eax
jne 0x4d8e90
mov ecx, ebp
call fcn.00444230
mov ecx, dword [edi + 0x64b420]
push ecx
mov ecx, 0x531158
call fcn.0043fa30
pop ebx
pop edi
pop esi
mov eax, 0xb
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
movzx edx, byte [esp + 0x4b]
movzx ecx, byte [esp + 0x49]
movzx eax, byte [esp + 0x4a]
shl dx, 8
movzx esi, dx
or esi, eax
movzx eax, byte [esp + 0x48]
shl cx, 8
movzx edx, cx
movzx ecx, byte [esp + 0x53]
shl cx, 8
shl esi, 0x10
or esi, edx
movzx edx, byte [esp + 0x52]
or esi, eax
movzx eax, cx
movzx ecx, byte [esp + 0x51]
or eax, edx
shl cx, 8
shl eax, 0x10
movzx edx, cx
movzx ecx, byte [esp + 0x50]
or eax, edx
movzx edx, byte [esp + 0x4f]
or eax, ecx
shl dx, 8
movzx ecx, dx
movzx edx, byte [esp + 0x4e]
or ecx, edx
movzx edx, byte [esp + 0x4d]
shl dx, 8
movzx edx, dx
shl ecx, 0x10
or ecx, edx
movzx edx, byte [esp + 0x4c]
or ecx, edx
xor edx, edx
or eax, edx
movzx edx, byte [esp + 0x55]
xor ebx, ebx
or ebx, ecx
add ebx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x56]
adc eax, dword [esp + 0x20]
shl dx, 8
mov dword [esp + 0x30], eax
movzx ax, byte [esp + 0x57]
shl ax, 8
movzx eax, ax
or eax, ecx
shl eax, 0x10
movzx ecx, dx
movzx edx, byte [esp + 0x54]
or eax, ecx
or eax, edx
mov dword [edi + 0x64b42c], eax
dec eax
mov dword [esp + 0x2c], ebx
mov dword [edi + 0x64b430], eax
cmp esi, eax
je 0x4d8fd8
mov ecx, ebp
call fcn.00444230
mov eax, dword [edi + 0x64b420]
push esi
push eax
mov ecx, edi
call fcn.004d0d30
mov edx, dword [ebp]
mov ebx, eax
mov eax, dword [edx + 4]
push 0
push ebx
mov ecx, ebp
call eax
test al, al
jne 0x4d8fcb
nop
push esi
mov ecx, edi
call fcn.004d1460
test eax, eax
jne 0x4d99a6
push ebx
call fcn.004e68b2
mov ecx, dword [edi + 0x64b420]
add esp, 4
push esi
push ecx
mov ecx, edi
call fcn.004d0d30
mov edx, dword [ebp]
mov ebx, eax
mov eax, dword [edx + 4]
push 0
push ebx
mov ecx, ebp
call eax
test al, al
je 0x4d8f90
push ebx
call fcn.004e68b2
mov ebx, dword [esp + 0x30]
add esp, 4
mov eax, dword [esp + 0x30]
mov edx, dword [ebp]
mov edx, dword [edx + 0xc]
push 0
push eax
push ebx
mov ecx, ebp
mov dword [edi + 0x64b430], esi
call edx
push 0x50aacc
push ebp
mov ecx, edi
call fcn.004d5ed0
test eax, eax
jne 0x4d9078
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp]
push eax
mov eax, dword [esp + 0x18]
sub eax, 0x50
sbb ecx, 0
push ecx
push eax
mov eax, dword [edx + 0xc]
mov ecx, ebp
call eax
push ebp
mov ecx, edi
call fcn.004d5d40
test eax, eax
je 0x4d9066
push 0x50aacc
lea ecx, [edi + 0x14]
push ecx
mov ecx, edi
call fcn.004d5ea0
test eax, eax
je 0x4d9066
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
mov ecx, ebp
call eax
mov esi, eax
mov ecx, 0xfffffffc
sub ecx, ebx
mov eax, 0xffffffff
sbb eax, dword [esp + 0x30]
add esi, ecx
adc edx, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], edx
jmp 0x4d907c
mov ecx, ebp
call fcn.00444230
mov ecx, dword [edi + 0x64b420]
jmp 0x4d9978
mov esi, dword [esp + 0x1c]
mov edx, dword [ebp]
mov edx, dword [edx + 8]
push 0x34
lea eax, [esp + 0x4c]
push eax
mov ecx, ebp
call edx
cmp eax, 0x34
jae 0x4d90c2
mov eax, dword [edi + 0x64b420]
push eax
mov ecx, 0x531158
call fcn.0043f440
mov ecx, ebp
call fcn.00444230
pop ebx
pop edi
pop esi
mov eax, 3
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
movzx ecx, byte [esp + 0x5b]
movzx edx, byte [esp + 0x5a]
shl cx, 8
movzx eax, cx
or eax, edx
movzx ecx, byte [esp + 0x59]
shl cx, 8
movzx edx, cx
movzx ecx, byte [esp + 0x58]
shl eax, 0x10
or eax, edx
movzx edx, byte [esp + 0x6b]
or eax, ecx
shl dx, 8
movzx ecx, dx
movzx edx, byte [esp + 0x69]
shl dx, 8
mov dword [esp + 0x10], eax
movzx eax, byte [esp + 0x6a]
or ecx, eax
movzx ebx, byte [esp + 0x66]
movzx eax, dx
movzx edx, byte [esp + 0x68]
shl ecx, 0x10
or ecx, eax
or ecx, edx
movzx edx, byte [esp + 0x67]
shl dx, 8
movzx edx, dx
or edx, ebx
movzx ebx, byte [esp + 0x65]
shl bx, 8
shl edx, 0x10
movzx ebx, bx
or edx, ebx
movzx ebx, byte [esp + 0x64]
or edx, ebx
xor eax, eax
or eax, edx
movzx edx, byte [esp + 0x7a]
mov dword [esp + 0x3c], eax
movzx eax, byte [esp + 0x7b]
xor ebx, ebx
or ecx, ebx
movzx ebx, byte [esp + 0x76]
shl ax, 8
mov dword [esp + 0x40], ecx
movzx ecx, ax
movzx eax, byte [esp + 0x79]
or ecx, edx
shl ax, 8
movzx edx, ax
movzx eax, byte [esp + 0x78]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [esp + 0x77]
shl dx, 8
movzx edx, dx
or edx, ebx
movzx ebx, byte [esp + 0x75]
shl bx, 8
movzx ebx, bx
or ecx, eax
shl edx, 0x10
or edx, ebx
movzx ebx, byte [esp + 0x74]
xor eax, eax
or edx, ebx
or eax, edx
xor ebx, ebx
or ecx, ebx
add eax, esi
adc ecx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
movzx eax, byte [esp + 0x53]
mov dword [esp + 0x28], ecx
movzx ecx, byte [esp + 0x52]
shl ax, 8
or ax, cx
cmp ax, 0x2e
jbe 0x4d9200
mov eax, dword [edi + 0x64b420]
push eax
push eax
mov ecx, 0x531158
call fcn.0043f4e0
mov eax, dword [edi + 0x648350]
cmp eax, 1
je 0x4d9200
cmp eax, 2
jne 0x4d90a3
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
adc ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov dword [edi + 0x64b410], eax
xor eax, eax
mov dword [esp + 0x28], ecx
mov dword [edi + 0x64b414], ecx
mov dword [esp + 0x2c], eax
mov dword [edi + 0x64b408], eax
mov dword [edi + 0x64b40c], eax
mov dword [esp + 0x34], 1
cmp dword [edi + 0x64b430], esi
je 0x4d9251
mov ecx, ebp
call fcn.00444230
mov dword [edi + 0x64b430], esi
cmp esi, dword [edi + 0x64b42c]
jae 0x4d9945
mov esi, 1
jmp 0x4d9270
mov edx, dword [edi + 0x64b42c]
mov eax, dword [edi + 0x64b430]
sub edx, esi
cmp eax, edx
jne 0x4d92b3
mov eax, dword [edi + 0x64b420]
push eax
call fcn.004ead4c
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
test ebx, ebx
jne 0x4d92c8
pop ebx
pop edi
pop esi
mov eax, 4
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
mov ecx, dword [edi + 0x64b420]
push eax
push ecx
mov ecx, edi
call fcn.004d0d30
mov ebx, eax
mov dword [esp + 0x10], eax
cmp dword [edi + 0x649384], 0xffffffff
jne 0x4d935d
mov edx, dword [ebp]
mov eax, dword [edx + 4]
push 0
push ebx
mov ecx, ebp
call eax
test al, al
jne 0x4d935d
mov ecx, dword [edi + 0x64b430]
push ecx
mov ecx, edi
call fcn.004d1460
cmp eax, 9
je 0x4d999b
cmp eax, 3
je 0x4d944e
mov edx, dword [edi + 0x64b42c]
mov eax, dword [edi + 0x64b430]
sub edx, esi
cmp eax, edx
jne 0x4d9337
mov eax, dword [edi + 0x64b420]
push eax
call fcn.004ead4c
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x4d929b
jmp 0x4d934c
mov ecx, dword [edi + 0x64b3fc]
push eax
push ecx
mov ecx, edi
call fcn.004d0d30
mov ebx, eax
mov dword [esp + 0x10], eax
mov edx, dword [ebp]
mov eax, dword [edx + 4]
push 0
push ebx
mov ecx, ebp
call eax
test al, al
je 0x4d92e6
cmp dword [esp + 0x44], 0
jne 0x4d938b
cmp dword [esp + 0x34], 0
je 0x4d9393
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp]
mov edx, dword [edx + 0xc]
push 0
push eax
push ecx
mov ecx, ebp
call edx
lea eax, [edi + 0x64b4a8]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], 0
push ebp
mov ecx, edi
call fcn.004d5d40
test eax, eax
je 0x4d9904
mov edx, dword [ebp]
mov eax, dword [edx + 0x10]
mov ecx, ebp
call eax
mov dword [edi + 0x64b438], eax
mov dword [edi + 0x64b43c], edx
xor eax, eax
jmp 0x4d93c0
mov cl, byte [eax + edi + 0x14]
cmp cl, byte [eax + 0x50aadc]
jne 0x4d93d2
inc eax
cmp eax, 4
jl 0x4d93c0
cmp eax, 4
je 0x4d9904
xor eax, eax
lea ecx, [ecx]
mov dl, byte [eax + edi + 0x14]
cmp dl, byte [eax + 0x50aacc]
jne 0x4d93f2
inc eax
cmp eax, 4
jl 0x4d93e0
cmp eax, 4
je 0x4d9904
xor eax, eax
lea esi, [eax + 1]
mov cl, byte [eax + edi + 0x14]
cmp cl, byte [eax + 0x50aabc]
jne 0x4d9413
add eax, esi
cmp eax, 4
jl 0x4d9400
cmp eax, 4
je 0x4d9457
cmp dword [edi + 0x648350], esi
je 0x4d98f0
mov ecx, ebp
call fcn.00444230
push ebx
mov ecx, 0x531158
call fcn.0043f440
pop ebx
pop edi
pop esi
mov eax, 3
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
mov dword [esp + 0x44], esi
jmp 0x4d9928
mov edx, dword [ebp]
mov edx, dword [edx + 8]
push 0x2a
lea eax, [esp + 0x4c]
push eax
mov ecx, ebp
call edx
cmp eax, 0x2a
je 0x4d9478
cmp dword [edi + 0x648350], esi
jmp 0x4d98ea
push 0x68
call fcn.004e7106
mov esi, eax
add esp, 4
test esi, esi
je 0x4d929b
movzx eax, byte [esp + 0x49]
movzx ecx, byte [esp + 0x48]
shl ax, 8
or ax, cx
mov word [esi], ax
movzx edx, byte [esp + 0x4b]
movzx eax, byte [esp + 0x4a]
shl dx, 8
or dx, ax
mov word [esi + 2], dx
movzx ecx, byte [esp + 0x4d]
movzx edx, byte [esp + 0x4c]
shl cx, 8
or cx, dx
mov word [esi + 4], cx
movzx eax, byte [esp + 0x4f]
movzx ecx, byte [esp + 0x4e]
shl ax, 8
or ax, cx
mov word [esi + 6], ax
movzx edx, byte [esp + 0x53]
movzx ecx, byte [esp + 0x52]
shl dx, 8
movzx eax, dx
movzx edx, byte [esp + 0x51]
or eax, ecx
shl dx, 8
movzx ecx, dx
movzx edx, byte [esp + 0x50]
shl eax, 0x10
or eax, ecx
or eax, edx
mov dword [esi + 8], eax
movzx eax, byte [esp + 0x57]
movzx edx, byte [esp + 0x56]
shl ax, 8
movzx ecx, ax
movzx eax, byte [esp + 0x55]
or ecx, edx
shl ax, 8
movzx edx, ax
movzx eax, byte [esp + 0x54]
shl ecx, 0x10
or ecx, edx
or ecx, eax
mov dword [esi + 0xc], ecx
movzx ecx, byte [esp + 0x5b]
movzx eax, byte [esp + 0x5a]
shl cx, 8
movzx edx, cx
movzx ecx, byte [esp + 0x59]
or edx, eax
shl edx, 0x10
shl cx, 8
movzx eax, cx
movzx ecx, byte [esp + 0x58]
or edx, eax
or edx, ecx
mov dword [esi + 0x10], edx
xor ecx, ecx
mov dword [esi + 0x14], ecx
movzx edx, byte [esp + 0x5f]
shl dx, 8
movzx eax, dx
movzx edx, byte [esp + 0x5e]
or eax, edx
movzx edx, byte [esp + 0x5d]
shl dx, 8
shl eax, 0x10
movzx edx, dx
or eax, edx
movzx edx, byte [esp + 0x5c]
or eax, edx
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
movzx eax, byte [esp + 0x61]
movzx edx, byte [esp + 0x60]
shl ax, 8
or ax, dx
mov word [esi + 0x20], ax
movzx eax, byte [esp + 0x63]
movzx edx, byte [esp + 0x62]
shl ax, 8
or ax, dx
mov word [esi + 0x24], ax
movzx eax, byte [esp + 0x65]
movzx edx, byte [esp + 0x64]
shl ax, 8
or ax, dx
mov word [esi + 0x26], ax
movzx eax, byte [esp + 0x67]
shl ax, 8
movzx edx, ax
movzx eax, byte [esp + 0x66]
or edx, eax
mov dword [esi + 0x28], edx
movzx edx, byte [esp + 0x69]
movzx eax, byte [esp + 0x68]
shl dx, 8
or dx, ax
mov word [esi + 0x2c], dx
movzx edx, byte [esp + 0x6d]
shl dx, 8
movzx eax, dx
movzx edx, byte [esp + 0x6c]
or eax, edx
movzx edx, byte [esp + 0x6b]
shl dx, 8
shl eax, 0x10
movzx edx, dx
or eax, edx
movzx edx, byte [esp + 0x6a]
or eax, edx
mov dword [esi + 0x38], eax
movzx eax, byte [esp + 0x71]
shl ax, 8
movzx edx, ax
movzx eax, byte [esp + 0x70]
or edx, eax
movzx eax, byte [esp + 0x6f]
shl ax, 8
movzx eax, ax
shl edx, 0x10
or edx, eax
movzx eax, byte [esp + 0x6e]
or edx, eax
movzx eax, word [esi + 0x20]
lea ebx, [esi + 0x48]
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], ecx
mov dword [esi + 0x44], ecx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x3c], ecx
mov dword [ebx], ecx
mov dword [esi + 0x4c], ecx
cmp ax, cx
jne 0x4d96b6
cmp dword [edi + 0x648350], 1
je 0x4d98f0
mov eax, dword [esp + 0x10]
push eax
mov ecx, 0x531158
call fcn.0043f440
pop ebx
pop edi
pop esi
mov eax, 3
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
movzx ecx, ax
inc ecx
push ecx
call fcn.004e7106
add esp, 4
mov dword [ebx], eax
test eax, eax
je 0x4d929b
movzx eax, word [esi + 0x24]
test ax, ax
je 0x4d96ed
movzx edx, ax
push edx
call fcn.004e7106
add esp, 4
mov dword [esi + 0x40], eax
test eax, eax
je 0x4d929b
movzx eax, word [esi + 0x26]
test ax, ax
je 0x4d970d
movzx eax, ax
push eax
call fcn.004e7106
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x4d929b
movzx eax, word [esi + 0x20]
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov edx, dword [edx + 8]
push eax
push ecx
mov ecx, ebp
call edx
movzx ecx, word [esi + 0x20]
cmp eax, ecx
jne 0x4d98e3
movzx eax, word [esi + 0x24]
test ax, ax
je 0x4d9752
mov ecx, dword [esi + 0x40]
mov edx, dword [ebp]
mov edx, dword [edx + 8]
movzx eax, ax
push eax
push ecx
mov ecx, ebp
call edx
movzx ecx, word [esi + 0x24]
cmp eax, ecx
jne 0x4d98e3
movzx eax, word [esi + 0x26]
test ax, ax
je 0x4d9779
mov ecx, dword [esi + 0x44]
mov edx, dword [ebp]
mov edx, dword [edx + 8]
movzx eax, ax
push eax
push ecx
mov ecx, ebp
call edx
movzx ecx, word [esi + 0x26]
cmp eax, ecx
jne 0x4d98e3
movzx edx, word [esi + 0x20]
mov eax, dword [ebx]
mov ecx, 0x800
mov byte [edx + eax], 0
test word [esi + 4], cx
jne 0x4d97b6
push esi
mov ecx, edi
call fcn.004d4df0
cmp dword [esi + 0x4c], 0
jne 0x4d97b6
movzx edx, byte [esi + 1]
mov eax, dword [ebx]
push edx
push eax
call fcn.004e67c0
test al, al
je 0x4d97b6
mov ecx, 0x800
or word [esi + 4], cx
mov edx, 0x800
test word [esi + 4], dx
je 0x4d97f6
mov eax, dword [ebx]
push eax
call fcn.004f7a4f
add esp, 4
mov dword [esi + 0x4c], eax
test eax, eax
je 0x4d929b
push eax
mov ecx, edi
call fcn.004d0ac0
mov ebx, eax
test ebx, ebx
je 0x4d981f
mov ecx, dword [esi + 0x48]
push ecx
call fcn.004e68b2
add esp, 4
mov dword [esi + 0x48], ebx
jmp 0x4d981f
movzx eax, word [esi]
movzx edx, al
push edx
shr eax, 8
push eax
push ebx
mov ecx, edi
call fcn.004d5d10
movzx eax, word [esi]
movzx ecx, al
push ecx
shr eax, 8
push eax
lea eax, [esi + 0x44]
push eax
mov ecx, edi
call fcn.004d5d10
push esi
mov ecx, edi
mov ebx, 1
call fcn.004d5010
cmp dword [edi + 0x648350], ebx
jne 0x4d983c
cmp dword [edi + 0x64b42c], ebx
je 0x4d9848
xor edx, edx
cmp dword [edi + 0x648358], edx
je 0x4d9858
jmp 0x4d984a
xor edx, edx
mov eax, dword [esp + 0x1c]
add dword [esi + 0x30], eax
mov ecx, dword [esp + 0x20]
adc dword [esi + 0x34], ecx
cmp dword [esi + 0x28], edx
jne 0x4d989f
cmp dword [esp + 0x2c], edx
je 0x4d987b
mov eax, dword [esi + 0x34]
cmp eax, dword [edi + 0x64b40c]
ja 0x4d989f
jb 0x4d987b
mov ecx, dword [esi + 0x30]
cmp ecx, dword [edi + 0x64b408]
jae 0x4d989f
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
cmp eax, dword [esp + 0x28]
ja 0x4d989f
jb 0x4d988f
cmp ecx, dword [esp + 0x24]
jae 0x4d989f
mov dword [edi + 0x64b408], ecx
mov dword [edi + 0x64b40c], eax
mov dword [esp + 0x2c], ebx
add dword [edi + 0x64b4ac], ebx
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], edx
mov dword [esi + 0x50], edx
mov dword [esi + 0x54], edx
mov ecx, edi
cmp eax, edx
je 0x4d98c2
push eax
call fcn.004da760
jmp 0x4d98cb
mov edx, dword [esi + 0x48]
push edx
call fcn.004da6b0
mov dword [esi + 0x54], eax
mov eax, dword [esp + 0x14]
mov dword [eax], esi
lea eax, [esi + 0x64]
mov dword [eax], 0
mov dword [esp + 0x14], eax
jmp 0x4d98f0
cmp dword [edi + 0x648350], 1
jne 0x4d8a07
push ebp
mov ecx, edi
call fcn.004d5d40
mov ebx, dword [esp + 0x10]
test eax, eax
jne 0x4d93a3
mov ecx, ebp
call fcn.00444230
push ebx
call fcn.004e68b2
add esp, 4
push 0x50aabc
lea ecx, [edi + 0x14]
push ecx
mov ecx, edi
call fcn.004d5ea0
test eax, eax
je 0x4d9945
mov esi, 1
add dword [edi + 0x64b430], esi
mov edx, dword [edi + 0x64b430]
cmp edx, dword [edi + 0x64b42c]
jb 0x4d9270
mov eax, dword [edi + 0x64b4ac]
mov ecx, dword [esp + 0x3c]
xor edx, edx
cmp eax, ecx
jne 0x4d995f
cmp edx, dword [esp + 0x40]
je 0x4d8a3e
movzx eax, ax
xor edx, edx
cmp eax, ecx
jne 0x4d9972
cmp edx, dword [esp + 0x40]
je 0x4d8a3e
mov ecx, dword [edi + 0x64b3fc]
push ecx
mov ecx, 0x531158
call fcn.0043f440
pop ebx
pop edi
pop esi
mov eax, 3
pop ebp
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.004e6a64
add esp, 0x70
ret
push ebx
mov ecx, 0x531158
call fcn.0043f990
mov ecx, dword [esp + 0x7c]
pop ebx
pop edi
pop esi
pop ebp
xor ecx, esp
mov eax, 9
call fcn.004e6a64
add esp, 0x70
ret