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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeac
push ebx
push esi
push edi
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
xor eax, eax
mov dword [ebp - 0x20], eax
xor edx, edx
mov dword [ebp - 0x30], edx
xor ecx, ecx
mov dword [ebp - 0x34], ecx
lea ebx, [ebp - 0x100]
xor eax, eax
mov dword [ebp - 0x40], eax
mov esi, dword [ebp + 0x10]
add esi, dword [ebp + 0x18]
xor eax, eax
mov dword [ebp - 0x44], eax
lea edx, [esi - 1]
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
test dword [ebp + 0x1c], 0xe20f5a6f
je 0x4d458a
mov eax, 0xfffffffd
jmp 0x4d4f11
cmp dword [ebp - 0x54], 0
je 0x4d45a2
cmp dword [ebp + 0x10], 0
je 0x4d45a2
cmp dword [ebp + 0x20], 0
jne 0x4d45ac
cmp dword [ebp + 0x24], 0
jle 0x4d45ac
mov eax, 0xfffffffe
jmp 0x4d4f11
cmp dword [ebp + 0x24], 0
jge 0x4d45bc
mov eax, 0xfffffff1
jmp 0x4d4f11
mov edx, dword [ebp - 0x54]
movzx ecx, word [edx + 0x18]
add ecx, dword [ebp - 0x54]
mov dword [ebx + 0x28], ecx
mov eax, dword [ebp - 0x54]
movzx edx, word [eax + 0x1c]
mov dword [ebx + 0x20], edx
mov ecx, dword [ebp - 0x54]
movzx eax, word [ecx + 0x1a]
mov dword [ebx + 0x24], eax
xor edx, edx
mov dword [ebp - 0x4c], edx
mov dword [ebx + 4], 0x989680
mov dword [ebx + 8], 0x989680
xor ecx, ecx
mov dword [ebx + 0x94], ecx
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x20]
mov dword [ebp - 0x3c], edx
cmp dword [ebp + 0xc], 0
je 0x4d465d
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [ebp - 0x58], eax
test byte [ebp - 0x58], 1
je 0x4d461e
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x4c], ecx
test byte [ebp - 0x58], 2
je 0x4d462d
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
mov dword [ebx + 4], edx
test byte [ebp - 0x58], 0x10
je 0x4d463c
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x14]
mov dword [ebx + 8], eax
test byte [ebp - 0x58], 4
je 0x4d464e
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0xc]
mov dword [ebx + 0x94], ecx
test byte [ebp - 0x58], 8
je 0x4d465d
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 0
jne 0x4d466a
mov dword [ebp - 0x3c], 0x715158
mov ecx, dword [ebp - 0x54]
cmp dword [ecx], 0x50435245
je 0x4d46b3
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x4c]
lea edx, [ebp - 0x154]
push edx
push dword [ebp - 0x54]
call fcn.004d5194
add esp, 0x10
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jne 0x4d46a4
mov eax, 0xfffffffc
jmp 0x4d4f11
cmp dword [ebp - 0x4c], 0
je 0x4d46b3
lea edx, [ebp - 0x12c]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx + 8]
or eax, dword [ebp + 0x1c]
test al, 0x10
setne dl
and edx, 1
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x54]
test byte [ecx + 0xc], 8
setne al
and eax, 1
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x54]
test byte [edx + 0xa], 4
setne cl
and ecx, 1
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x54]
movzx edx, word [eax + 0x1c]
mov ecx, dword [ebp - 0x54]
movzx eax, word [ecx + 0x1a]
imul edx, eax
mov ecx, dword [ebp - 0x54]
movzx eax, word [ecx + 0x18]
add eax, dword [ebp - 0x50]
add edx, eax
mov dword [ebx + 0x60], edx
mov edx, dword [ebp + 0x10]
mov dword [ebx + 0x64], edx
mov ecx, dword [ebp + 0x18]
mov dword [ebx + 0x84], ecx
mov eax, dword [ebx + 0x64]
add eax, dword [ebp + 0x14]
mov dword [ebx + 0x68], eax
mov edi, dword [ebx + 0x68]
mov eax, dword [ebp - 0x54]
test byte [eax + 8], 0x20
setne dl
and edx, 1
mov dword [ebx + 0x4c], edx
mov ecx, dword [ebp - 0x54]
test byte [ecx + 9], 8
setne al
and eax, 1
mov dword [ebx + 0x44], eax
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x54]
test byte [edx + 0xb], 2
setne cl
and ecx, 1
mov dword [ebx + 0x48], ecx
test byte [ebp + 0x1c], 0x80
setne al
and eax, 1
mov dword [ebx + 0x3c], eax
test byte [ebp + 0x1d], 1
setne dl
and edx, 1
mov dword [ebx + 0x40], edx
test byte [ebp + 0x1d], 4
setne cl
and ecx, 1
mov dword [ebx + 0x50], ecx
test byte [ebp + 0x1f], 0x10
setne al
and eax, 1
mov dword [ebx + 0x54], eax
test byte [ebp + 0x1f], 8
je 0x4d4796
mov edx, 2
jmp 0x4d47a5
test byte [ebp + 0x1d], 0x80
je 0x4d47a3
mov edx, 1
jmp 0x4d47a5
xor edx, edx
mov dword [ebx + 0x78], edx
xor eax, eax
mov dword [ebx + 0x58], eax
xor ecx, ecx
mov dword [ebx + 0x90], ecx
mov eax, dword [ebp - 0x3c]
mov dword [ebx + 0x30], eax
mov edx, dword [ebp - 0x3c]
add edx, 0x340
mov dword [ebx + 0x34], edx
mov ecx, dword [ebp + 0x1c]
and ecx, 0x1800000
sub ecx, 1
jb 0x4d47e7
sub ecx, 0x7fffff
je 0x4d480c
sub ecx, 0x800000
je 0x4d4815
jmp 0x4d481c
mov eax, dword [ebp - 0x54]
test dword [eax + 8], 0x1800000
je 0x4d4805
mov edx, dword [ebp - 0x54]
test byte [edx + 0xa], 0x80
setne cl
and ecx, 1
mov dword [ebx + 0x5c], ecx
jmp 0x4d4826
xor eax, eax
mov dword [ebx + 0x5c], eax
jmp 0x4d4826
mov dword [ebx + 0x5c], 1
jmp 0x4d4826
xor edx, edx
mov dword [ebx + 0x5c], edx
jmp 0x4d4826
mov eax, 0xffffffe9
jmp 0x4d4f11
test byte [ebp + 0x1e], 0x70
jne 0x4d4834
mov edx, dword [ebp - 0x54]
mov ecx, dword [edx + 8]
jmp 0x4d4837
mov ecx, dword [ebp + 0x1c]
and ecx, 0x700000
cmp ecx, 0x300000
jg 0x4d485e
je 0x4d4885
sub ecx, 1
jb 0x4d4870
sub ecx, 0xfffff
je 0x4d4877
sub ecx, 0x100000
je 0x4d487e
jmp 0x4d4898
sub ecx, 0x400000
je 0x4d488c
sub ecx, 0x100000
je 0x4d4891
jmp 0x4d4898
mov eax, 0xa
jmp 0x4d48a2
mov eax, 0xd
jmp 0x4d48a2
mov eax, 0xa
jmp 0x4d48a2
mov eax, 0xd0a
jmp 0x4d48a2
or eax, 0xffffffff
jmp 0x4d48a2
mov eax, 0xfffffffe
jmp 0x4d48a2
mov eax, 0xffffffe9
jmp 0x4d4f11
cmp eax, 0xfffffffe
jne 0x4d48b0
mov dword [ebx + 0x18], 2
jmp 0x4d48ec
test eax, eax
jge 0x4d48bd
mov dword [ebx + 0x18], 1
jmp 0x4d48ec
xor edx, edx
mov dword [ebx + 0x18], edx
cmp eax, 0xff
jle 0x4d48e2
mov dword [ebx + 0x1c], 2
mov ecx, eax
sar ecx, 8
and cl, 0xff
mov byte [ebx + 0x2c], cl
and al, 0xff
mov byte [ebx + 0x2d], al
jmp 0x4d48ec
mov dword [ebx + 0x1c], 1
mov byte [ebx + 0x2c], al
cmp dword [ebx + 0x78], 0
je 0x4d4905
mov eax, dword [ebp - 0x54]
test byte [eax + 0xc], 1
je 0x4d4905
mov eax, 0xfffffff3
jmp 0x4d4f11
mov edx, dword [ebp - 0x54]
mov ecx, dword [edx + 8]
and ecx, 7
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp + 0x24]
mov ecx, 3
cdq
idiv ecx
mov eax, dword [ebp + 0x24]
sub eax, edx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x54]
cmp word [edx + 0x12], 0
jbe 0x4d497e
mov eax, dword [ebp - 0xc]
mov ecx, 3
cdq
idiv ecx
mov edx, dword [ebp - 0x54]
movzx ecx, word [edx + 0x12]
cmp eax, ecx
jg 0x4d497e
mov eax, dword [ebp - 0x54]
movzx eax, word [eax + 0x12]
lea edx, [eax + eax*2]
add edx, 3
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
shl ecx, 2
push ecx
call dword [0x716260]
pop ecx
mov dword [ebx + 0xc], eax
cmp dword [ebx + 0xc], 0
jne 0x4d4975
mov eax, 0xfffffffa
jmp 0x4d4f11
mov dword [ebp - 0x20], 1
jmp 0x4d4984
mov edx, dword [ebp + 0x20]
mov dword [ebx + 0xc], edx
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xc]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov dword [ebx + 0x14], eax
xor eax, eax
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x80], 0xffffffff
mov edx, dword [ebp - 0x54]
movzx ecx, word [edx + 0x10]
add ecx, ecx
add ecx, 2
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 0x24]
jle 0x4d49c6
mov edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
cmp dword [ebx + 0xc], 0
je 0x4d49fc
mov eax, dword [ebp - 0xc]
shl eax, 2
add eax, dword [ebx + 0xc]
mov edx, dword [ebp - 8]
sar edx, 1
jns 0x4d49df
adc edx, 0
shl edx, 2
mov ecx, eax
sub ecx, edx
add ecx, 4
mov dword [ebp - 0x5c], ecx
jmp 0x4d49f4
mov dword [eax], 0xffffffff
sub eax, 4
cmp eax, dword [ebp - 0x5c]
jae 0x4d49ee
cmp dword [ebp - 0x24], 0
jne 0x4d4a5b
mov eax, dword [ebp - 0x54]
test byte [eax + 0xc], 2
je 0x4d4a3d
mov edx, dword [ebp - 0x54]
movzx ecx, word [edx + 0x14]
and ecx, 0xff
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x54]
test byte [eax + 0x15], 1
setne dl
and edx, 1
mov dword [ebp - 0x30], edx
dec edx
jne 0x4d4a5b
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebp - 0x10]
movzx eax, byte [eax + ecx]
mov dword [ebp - 0x10], eax
jmp 0x4d4a5b
cmp dword [ebp - 0x28], 0
jne 0x4d4a5b
cmp dword [ebp - 0x4c], 0
je 0x4d4a5b
mov edx, dword [ebp - 0x4c]
test byte [edx + 4], 1
je 0x4d4a5b
mov ecx, dword [ebp - 0x4c]
add ecx, 8
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x54]
test byte [eax + 0xc], 4
je 0x4d4a96
mov edx, dword [ebp - 0x54]
movzx ecx, word [edx + 0x16]
and ecx, 0xff
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x54]
test byte [eax + 0x17], 1
setne dl
and edx, 1
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dl, byte [ecx + eax + 0x100]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x60], edi
cmp dword [ebx + 0xc], 0
je 0x4d4abb
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 8]
shl edx, 2
add edx, eax
cmp edx, eax
jbe 0x4d4abb
mov dword [eax], 0xffffffff
add eax, 4
cmp edx, eax
ja 0x4d4aae
cmp dword [ebp - 0x2c], 0
je 0x4d4b27
mov edi, esi
jmp 0x4d4ac6
inc edi
cmp edi, dword [ebx + 0x68]
jae 0x4d4b27
cmp dword [ebx + 0x18], 0
je 0x4d4afb
cmp edi, dword [ebx + 0x68]
jae 0x4d4af0
push dword [ebp - 0x38]
lea eax, [ebx + 0x1c]
push eax
push dword [ebx + 0x68]
push dword [ebx + 0x18]
push edi
call fcn.004d4f94
add esp, 0x14
test eax, eax
jne 0x4d4af4
xor edx, edx
jmp 0x4d4b23
mov edx, 1
jmp 0x4d4b23
mov ecx, dword [ebx + 0x68]
sub ecx, dword [ebx + 0x1c]
cmp edi, ecx
ja 0x4d4b1a
mov al, byte [edi]
cmp al, byte [ebx + 0x2c]
jne 0x4d4b1a
cmp dword [ebx + 0x1c], 1
je 0x4d4b1e
mov dl, byte [edi + 1]
cmp dl, byte [ebx + 0x2d]
je 0x4d4b1e
xor edx, edx
jmp 0x4d4b23
mov edx, 1
test edx, edx
je 0x4d4ac5
test byte [ebp + 0x1f], 4
jne 0x4d4c4d
cmp dword [ebp - 0x10], 0
jl 0x4d4b74
cmp dword [ebp - 0x30], 0
je 0x4d4b5e
jmp 0x4d4b40
inc esi
cmp edi, esi
jbe 0x4d4c4d
xor eax, eax
mov al, byte [esi]
mov ecx, dword [ebx + 0x30]
movzx eax, byte [ecx + eax]
cmp eax, dword [ebp - 0x10]
jne 0x4d4b3f
jmp 0x4d4c4d
inc esi
cmp edi, esi
jbe 0x4d4c4d
xor edx, edx
mov dl, byte [esi]
cmp edx, dword [ebp - 0x10]
jne 0x4d4b5d
jmp 0x4d4c4d
cmp dword [ebp - 0x28], 0
je 0x4d4c19
mov ecx, dword [ebx + 0x64]
add ecx, dword [ebp + 0x18]
cmp esi, ecx
jbe 0x4d4c4d
jmp 0x4d4b8f
inc esi
cmp edi, esi
jbe 0x4d4bfb
cmp dword [ebx + 0x18], 0
je 0x4d4bc3
cmp esi, dword [ebx + 0x64]
jbe 0x4d4bb8
push dword [ebp - 0x38]
lea eax, [ebx + 0x1c]
push eax
push dword [ebx + 0x64]
push dword [ebx + 0x18]
push esi
call fcn.004d5072
add esp, 0x14
test eax, eax
jne 0x4d4bbc
xor edx, edx
jmp 0x4d4bf7
mov edx, 1
jmp 0x4d4bf7
mov ecx, dword [ebx + 0x64]
add ecx, dword [ebx + 0x1c]
cmp esi, ecx
jb 0x4d4bee
mov eax, dword [ebx + 0x1c]
neg eax
mov dl, byte [esi + eax]
cmp dl, byte [ebx + 0x2c]
jne 0x4d4bee
cmp dword [ebx + 0x1c], 1
je 0x4d4bf2
mov ecx, dword [ebx + 0x1c]
neg ecx
mov al, byte [esi + ecx + 1]
cmp al, byte [ebx + 0x2d]
je 0x4d4bf2
xor edx, edx
jmp 0x4d4bf7
mov edx, 1
test edx, edx
je 0x4d4b8e
cmp byte [esi - 1], 0xd
jne 0x4d4c4d
cmp dword [ebx + 0x18], 1
je 0x4d4c0d
cmp dword [ebx + 0x18], 2
jne 0x4d4c4d
cmp edi, esi
jbe 0x4d4c4d
cmp byte [esi], 0xa
jne 0x4d4c4d
inc esi
jmp 0x4d4c4d
cmp dword [ebp - 0x40], 0
je 0x4d4c4d
cmp edi, esi
jbe 0x4d4c4d
xor ecx, ecx
mov cl, byte [esi]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x68]
and ecx, 7
mov eax, 1
shl eax, cl
mov edx, dword [ebp - 0x68]
shr edx, 3
mov ecx, dword [ebp - 0x40]
movzx edx, byte [ecx + edx]
and eax, edx
jne 0x4d4c4d
inc esi
cmp edi, esi
ja 0x4d4c23
mov edi, dword [ebp - 0x60]
test byte [ebp + 0x1f], 4
jne 0x4d4cfb
cmp dword [ebx + 0x78], 0
jne 0x4d4cfb
cmp dword [ebp - 0x4c], 0
je 0x4d4c89
mov eax, dword [ebp - 0x4c]
test byte [eax + 4], 2
je 0x4d4c89
mov edx, edi
sub edx, esi
mov ecx, dword [ebp - 0x4c]
cmp edx, dword [ecx + 0x28]
jae 0x4d4c89
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4d4e37
cmp dword [ebp - 0x14], 0
jl 0x4d4cfb
mov edx, edi
sub edx, esi
cmp edx, 0x3e8
jge 0x4d4cfb
cmp dword [ebp - 0x10], 0
jl 0x4d4ca8
mov eax, 1
jmp 0x4d4caa
xor eax, eax
add eax, esi
cmp eax, dword [ebp - 0x48]
jbe 0x4d4cfb
cmp dword [ebp - 0x34], 0
je 0x4d4cd3
cmp edi, eax
jbe 0x4d4cea
xor edx, edx
mov dl, byte [eax]
inc eax
cmp edx, dword [ebp - 0x14]
je 0x4d4cca
cmp edx, dword [ebp - 0x18]
jne 0x4d4ccd
dec eax
jmp 0x4d4cea
cmp edi, eax
ja 0x4d4cbb
jmp 0x4d4cea
cmp edi, eax
jbe 0x4d4cea
mov cl, byte [eax]
inc eax
xor edx, edx
mov dl, cl
cmp edx, dword [ebp - 0x14]
jne 0x4d4ce6
dec eax
jmp 0x4d4cea
cmp edi, eax
ja 0x4d4cd7
cmp edi, eax
ja 0x4d4cf8
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4d4e37
mov dword [ebp - 0x48], eax
mov dword [ebx + 0x6c], esi
mov dword [ebx + 0x74], esi
xor ecx, ecx
mov dword [ebx], ecx
push 0
push 0
push 0
push dword [ebp - 0x1c]
push ebx
push 2
push esi
push dword [ebx + 0x60]
push esi
call fcn.004d0855
add esp, 0x24
mov dword [ebp - 4], eax
cmp dword [ebx + 0x58], 0
je 0x4d4d33
cmp dword [ebp - 0x44], 0
jne 0x4d4d33
mov eax, dword [ebx + 0x74]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 4]
cmp edx, 0xfffffc1b
jg 0x4d4d50
je 0x4d4d6d
sub edx, 0xfffffc19
je 0x4d4d75
dec edx
je 0x4d4d65
jmp 0x4d4e37
sub edx, 0xfffffc1c
je 0x4d4d65
sub edx, 0x3e4
je 0x4d4d65
jmp 0x4d4e37
lea ecx, [esi + 1]
mov dword [ebp - 0x64], ecx
jmp 0x4d4d7f
mov eax, dword [ebx + 0x6c]
mov dword [ebp - 0x64], eax
jmp 0x4d4d7f
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x4d4e37
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x2c], 0
je 0x4d4de6
cmp dword [ebx + 0x18], 0
je 0x4d4dba
cmp esi, dword [ebx + 0x68]
jae 0x4d4daf
push dword [ebp - 0x38]
lea eax, [ebx + 0x1c]
push eax
push dword [ebx + 0x68]
push dword [ebx + 0x18]
push esi
call fcn.004d4f94
add esp, 0x14
test eax, eax
jne 0x4d4db3
xor edx, edx
jmp 0x4d4de2
mov edx, 1
jmp 0x4d4de2
mov ecx, dword [ebx + 0x68]
sub ecx, dword [ebx + 0x1c]
cmp esi, ecx
ja 0x4d4dd9
mov al, byte [esi]
cmp al, byte [ebx + 0x2c]
jne 0x4d4dd9
cmp dword [ebx + 0x1c], 1
je 0x4d4ddd
mov dl, byte [esi + 1]
cmp dl, byte [ebx + 0x2d]
je 0x4d4ddd
xor edx, edx
jmp 0x4d4de2
mov edx, 1
test edx, edx
jne 0x4d4e37
mov esi, dword [ebp - 0x64]
cmp dword [ebp - 0x24], 0
jne 0x4d4e37
cmp edi, esi
jb 0x4d4e37
cmp byte [esi - 1], 0xd
jne 0x4d4a96
cmp edi, esi
jbe 0x4d4a96
cmp byte [esi], 0xa
jne 0x4d4a96
mov eax, dword [ebp - 0x54]
test byte [eax + 0xc], 0x20
jne 0x4d4a96
cmp dword [ebx + 0x18], 1
je 0x4d4e31
cmp dword [ebx + 0x18], 2
je 0x4d4e31
cmp dword [ebx + 0x1c], 2
jne 0x4d4a96
inc esi
jmp 0x4d4a96
cmp dword [ebp - 4], 1
jne 0x4d4ec6
cmp dword [ebp - 0x20], 0
je 0x4d4e86
cmp dword [ebp + 0x24], 4
jl 0x4d4e6d
mov edx, dword [ebp + 0x24]
add edx, 0xfffffffe
shl edx, 2
push edx
mov ecx, dword [ebx + 0xc]
add ecx, 8
push ecx
mov eax, dword [ebp + 0x20]
add eax, 8
push eax
call fcn.004d9148
add esp, 0xc
mov edx, dword [ebx + 0x7c]
cmp edx, dword [ebp + 0x24]
jle 0x4d4e7c
mov dword [ebx + 0x38], 1
push dword [ebx + 0xc]
call dword [0x716264]
pop ecx
cmp dword [ebx + 0x38], 0
je 0x4d4e90
xor ecx, ecx
jmp 0x4d4e9a
mov ecx, dword [ebx + 0x7c]
sar ecx, 1
jns 0x4d4e9a
adc ecx, 0
mov dword [ebp - 4], ecx
cmp dword [ebp + 0x24], 2
jge 0x4d4eaa
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4d4ec1
mov edx, dword [ebx + 0x6c]
sub edx, dword [ebx + 0x64]
mov eax, dword [ebp + 0x20]
mov dword [eax], edx
mov edx, dword [ebx + 0x70]
sub edx, dword [ebx + 0x64]
mov ecx, dword [ebp + 0x20]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 4]
jmp 0x4d4f11
cmp dword [ebp - 0x20], 0
je 0x4d4ed6
push dword [ebx + 0xc]
call dword [0x716264]
pop ecx
cmp dword [ebp - 4], 0
je 0x4d4ee7
cmp dword [ebp - 4], 0xfffffff4
je 0x4d4ee7
mov eax, dword [ebp - 4]
jmp 0x4d4f11
cmp dword [ebp - 0x44], 0
je 0x4d4f0e
cmp dword [ebp + 0x24], 1
jle 0x4d4f07
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x20]
mov dword [ecx], edx
sub edi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x20]
mov dword [eax + 4], edi
mov eax, 0xfffffff4
jmp 0x4d4f11
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret