Function at 0x4cadc3
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 0x4cae2e
mov eax, 0xfffffffd
jmp 0x4cb7b5
cmp dword [ebp - 0x54], 0
je 0x4cae46
cmp dword [ebp + 0x10], 0
je 0x4cae46
cmp dword [ebp + 0x20], 0
jne 0x4cae50
cmp dword [ebp + 0x24], 0
jle 0x4cae50
mov eax, 0xfffffffe
jmp 0x4cb7b5
cmp dword [ebp + 0x24], 0
jge 0x4cae60
mov eax, 0xfffffff1
jmp 0x4cb7b5
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 0x4caf01
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [ebp - 0x58], eax
test byte [ebp - 0x58], 1
je 0x4caec2
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x4c], ecx
test byte [ebp - 0x58], 2
je 0x4caed1
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
mov dword [ebx + 4], edx
test byte [ebp - 0x58], 0x10
je 0x4caee0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x14]
mov dword [ebx + 8], eax
test byte [ebp - 0x58], 4
je 0x4caef2
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0xc]
mov dword [ebx + 0x94], ecx
test byte [ebp - 0x58], 8
je 0x4caf01
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 0
jne 0x4caf0e
mov dword [ebp - 0x3c], 0x7466a0
mov ecx, dword [ebp - 0x54]
cmp dword [ecx], 0x50435245
je 0x4caf57
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x4c]
lea edx, [ebp - 0x154]
push edx
push dword [ebp - 0x54]
call fcn.004cba38
add esp, 0x10
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jne 0x4caf48
mov eax, 0xfffffffc
jmp 0x4cb7b5
cmp dword [ebp - 0x4c], 0
je 0x4caf57
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 0x4cb03a
mov edx, 2
jmp 0x4cb049
test byte [ebp + 0x1d], 0x80
je 0x4cb047
mov edx, 1
jmp 0x4cb049
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 0x4cb08b
sub ecx, 0x7fffff
je 0x4cb0b0
sub ecx, 0x800000
je 0x4cb0b9
jmp 0x4cb0c0
mov eax, dword [ebp - 0x54]
test dword [eax + 8], 0x1800000
je 0x4cb0a9
mov edx, dword [ebp - 0x54]
test byte [edx + 0xa], 0x80
setne cl
and ecx, 1
mov dword [ebx + 0x5c], ecx
jmp 0x4cb0ca
xor eax, eax
mov dword [ebx + 0x5c], eax
jmp 0x4cb0ca
mov dword [ebx + 0x5c], 1
jmp 0x4cb0ca
xor edx, edx
mov dword [ebx + 0x5c], edx
jmp 0x4cb0ca
mov eax, 0xffffffe9
jmp 0x4cb7b5
test byte [ebp + 0x1e], 0x70
jne 0x4cb0d8
mov edx, dword [ebp - 0x54]
mov ecx, dword [edx + 8]
jmp 0x4cb0db
mov ecx, dword [ebp + 0x1c]
and ecx, 0x700000
cmp ecx, 0x300000
jg 0x4cb102
je 0x4cb129
sub ecx, 1
jb 0x4cb114
sub ecx, 0xfffff
je 0x4cb11b
sub ecx, 0x100000
je 0x4cb122
jmp 0x4cb13c
sub ecx, 0x400000
je 0x4cb130
sub ecx, 0x100000
je 0x4cb135
jmp 0x4cb13c
mov eax, 0xa
jmp 0x4cb146
mov eax, 0xd
jmp 0x4cb146
mov eax, 0xa
jmp 0x4cb146
mov eax, 0xd0a
jmp 0x4cb146
or eax, 0xffffffff
jmp 0x4cb146
mov eax, 0xfffffffe
jmp 0x4cb146
mov eax, 0xffffffe9
jmp 0x4cb7b5
cmp eax, 0xfffffffe
jne 0x4cb154
mov dword [ebx + 0x18], 2
jmp 0x4cb190
test eax, eax
jge 0x4cb161
mov dword [ebx + 0x18], 1
jmp 0x4cb190
xor edx, edx
mov dword [ebx + 0x18], edx
cmp eax, 0xff
jle 0x4cb186
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 0x4cb190
mov dword [ebx + 0x1c], 1
mov byte [ebx + 0x2c], al
cmp dword [ebx + 0x78], 0
je 0x4cb1a9
mov eax, dword [ebp - 0x54]
test byte [eax + 0xc], 1
je 0x4cb1a9
mov eax, 0xfffffff3
jmp 0x4cb7b5
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 0x4cb222
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 0x4cb222
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 [0x7477a8]
pop ecx
mov dword [ebx + 0xc], eax
cmp dword [ebx + 0xc], 0
jne 0x4cb219
mov eax, 0xfffffffa
jmp 0x4cb7b5
mov dword [ebp - 0x20], 1
jmp 0x4cb228
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 0x4cb26a
mov edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
cmp dword [ebx + 0xc], 0
je 0x4cb2a0
mov eax, dword [ebp - 0xc]
shl eax, 2
add eax, dword [ebx + 0xc]
mov edx, dword [ebp - 8]
sar edx, 1
jns 0x4cb283
adc edx, 0
shl edx, 2
mov ecx, eax
sub ecx, edx
add ecx, 4
mov dword [ebp - 0x5c], ecx
jmp 0x4cb298
mov dword [eax], 0xffffffff
sub eax, 4
cmp eax, dword [ebp - 0x5c]
jae 0x4cb292
cmp dword [ebp - 0x24], 0
jne 0x4cb2ff
mov eax, dword [ebp - 0x54]
test byte [eax + 0xc], 2
je 0x4cb2e1
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 0x4cb2ff
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebp - 0x10]
movzx eax, byte [eax + ecx]
mov dword [ebp - 0x10], eax
jmp 0x4cb2ff
cmp dword [ebp - 0x28], 0
jne 0x4cb2ff
cmp dword [ebp - 0x4c], 0
je 0x4cb2ff
mov edx, dword [ebp - 0x4c]
test byte [edx + 4], 1
je 0x4cb2ff
mov ecx, dword [ebp - 0x4c]
add ecx, 8
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x54]
test byte [eax + 0xc], 4
je 0x4cb33a
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 0x4cb35f
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 8]
shl edx, 2
add edx, eax
cmp edx, eax
jbe 0x4cb35f
mov dword [eax], 0xffffffff
add eax, 4
cmp edx, eax
ja 0x4cb352
cmp dword [ebp - 0x2c], 0
je 0x4cb3cb
mov edi, esi
jmp 0x4cb36a
inc edi
cmp edi, dword [ebx + 0x68]
jae 0x4cb3cb
cmp dword [ebx + 0x18], 0
je 0x4cb39f
cmp edi, dword [ebx + 0x68]
jae 0x4cb394
push dword [ebp - 0x38]
lea eax, [ebx + 0x1c]
push eax
push dword [ebx + 0x68]
push dword [ebx + 0x18]
push edi
call fcn.004cb838
add esp, 0x14
test eax, eax
jne 0x4cb398
xor edx, edx
jmp 0x4cb3c7
mov edx, 1
jmp 0x4cb3c7
mov ecx, dword [ebx + 0x68]
sub ecx, dword [ebx + 0x1c]
cmp edi, ecx
ja 0x4cb3be
mov al, byte [edi]
cmp al, byte [ebx + 0x2c]
jne 0x4cb3be
cmp dword [ebx + 0x1c], 1
je 0x4cb3c2
mov dl, byte [edi + 1]
cmp dl, byte [ebx + 0x2d]
je 0x4cb3c2
xor edx, edx
jmp 0x4cb3c7
mov edx, 1
test edx, edx
je 0x4cb369
test byte [ebp + 0x1f], 4
jne 0x4cb4f1
cmp dword [ebp - 0x10], 0
jl 0x4cb418
cmp dword [ebp - 0x30], 0
je 0x4cb402
jmp 0x4cb3e4
inc esi
cmp edi, esi
jbe 0x4cb4f1
xor eax, eax
mov al, byte [esi]
mov ecx, dword [ebx + 0x30]
movzx eax, byte [ecx + eax]
cmp eax, dword [ebp - 0x10]
jne 0x4cb3e3
jmp 0x4cb4f1
inc esi
cmp edi, esi
jbe 0x4cb4f1
xor edx, edx
mov dl, byte [esi]
cmp edx, dword [ebp - 0x10]
jne 0x4cb401
jmp 0x4cb4f1
cmp dword [ebp - 0x28], 0
je 0x4cb4bd
mov ecx, dword [ebx + 0x64]
add ecx, dword [ebp + 0x18]
cmp esi, ecx
jbe 0x4cb4f1
jmp 0x4cb433
inc esi
cmp edi, esi
jbe 0x4cb49f
cmp dword [ebx + 0x18], 0
je 0x4cb467
cmp esi, dword [ebx + 0x64]
jbe 0x4cb45c
push dword [ebp - 0x38]
lea eax, [ebx + 0x1c]
push eax
push dword [ebx + 0x64]
push dword [ebx + 0x18]
push esi
call fcn.004cb916
add esp, 0x14
test eax, eax
jne 0x4cb460
xor edx, edx
jmp 0x4cb49b
mov edx, 1
jmp 0x4cb49b
mov ecx, dword [ebx + 0x64]
add ecx, dword [ebx + 0x1c]
cmp esi, ecx
jb 0x4cb492
mov eax, dword [ebx + 0x1c]
neg eax
mov dl, byte [esi + eax]
cmp dl, byte [ebx + 0x2c]
jne 0x4cb492
cmp dword [ebx + 0x1c], 1
je 0x4cb496
mov ecx, dword [ebx + 0x1c]
neg ecx
mov al, byte [esi + ecx + 1]
cmp al, byte [ebx + 0x2d]
je 0x4cb496
xor edx, edx
jmp 0x4cb49b
mov edx, 1
test edx, edx
je 0x4cb432
cmp byte [esi - 1], 0xd
jne 0x4cb4f1
cmp dword [ebx + 0x18], 1
je 0x4cb4b1
cmp dword [ebx + 0x18], 2
jne 0x4cb4f1
cmp edi, esi
jbe 0x4cb4f1
cmp byte [esi], 0xa
jne 0x4cb4f1
inc esi
jmp 0x4cb4f1
cmp dword [ebp - 0x40], 0
je 0x4cb4f1
cmp edi, esi
jbe 0x4cb4f1
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 0x4cb4f1
inc esi
cmp edi, esi
ja 0x4cb4c7
mov edi, dword [ebp - 0x60]
test byte [ebp + 0x1f], 4
jne 0x4cb59f
cmp dword [ebx + 0x78], 0
jne 0x4cb59f
cmp dword [ebp - 0x4c], 0
je 0x4cb52d
mov eax, dword [ebp - 0x4c]
test byte [eax + 4], 2
je 0x4cb52d
mov edx, edi
sub edx, esi
mov ecx, dword [ebp - 0x4c]
cmp edx, dword [ecx + 0x28]
jae 0x4cb52d
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4cb6db
cmp dword [ebp - 0x14], 0
jl 0x4cb59f
mov edx, edi
sub edx, esi
cmp edx, 0x3e8
jge 0x4cb59f
cmp dword [ebp - 0x10], 0
jl 0x4cb54c
mov eax, 1
jmp 0x4cb54e
xor eax, eax
add eax, esi
cmp eax, dword [ebp - 0x48]
jbe 0x4cb59f
cmp dword [ebp - 0x34], 0
je 0x4cb577
cmp edi, eax
jbe 0x4cb58e
xor edx, edx
mov dl, byte [eax]
inc eax
cmp edx, dword [ebp - 0x14]
je 0x4cb56e
cmp edx, dword [ebp - 0x18]
jne 0x4cb571
dec eax
jmp 0x4cb58e
cmp edi, eax
ja 0x4cb55f
jmp 0x4cb58e
cmp edi, eax
jbe 0x4cb58e
mov cl, byte [eax]
inc eax
xor edx, edx
mov dl, cl
cmp edx, dword [ebp - 0x14]
jne 0x4cb58a
dec eax
jmp 0x4cb58e
cmp edi, eax
ja 0x4cb57b
cmp edi, eax
ja 0x4cb59c
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4cb6db
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.004c70f9
add esp, 0x24
mov dword [ebp - 4], eax
cmp dword [ebx + 0x58], 0
je 0x4cb5d7
cmp dword [ebp - 0x44], 0
jne 0x4cb5d7
mov eax, dword [ebx + 0x74]
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 4]
cmp edx, 0xfffffc1b
jg 0x4cb5f4
je 0x4cb611
sub edx, 0xfffffc19
je 0x4cb619
dec edx
je 0x4cb609
jmp 0x4cb6db
sub edx, 0xfffffc1c
je 0x4cb609
sub edx, 0x3e4
je 0x4cb609
jmp 0x4cb6db
lea ecx, [esi + 1]
mov dword [ebp - 0x64], ecx
jmp 0x4cb623
mov eax, dword [ebx + 0x6c]
mov dword [ebp - 0x64], eax
jmp 0x4cb623
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x4cb6db
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x2c], 0
je 0x4cb68a
cmp dword [ebx + 0x18], 0
je 0x4cb65e
cmp esi, dword [ebx + 0x68]
jae 0x4cb653
push dword [ebp - 0x38]
lea eax, [ebx + 0x1c]
push eax
push dword [ebx + 0x68]
push dword [ebx + 0x18]
push esi
call fcn.004cb838
add esp, 0x14
test eax, eax
jne 0x4cb657
xor edx, edx
jmp 0x4cb686
mov edx, 1
jmp 0x4cb686
mov ecx, dword [ebx + 0x68]
sub ecx, dword [ebx + 0x1c]
cmp esi, ecx
ja 0x4cb67d
mov al, byte [esi]
cmp al, byte [ebx + 0x2c]
jne 0x4cb67d
cmp dword [ebx + 0x1c], 1
je 0x4cb681
mov dl, byte [esi + 1]
cmp dl, byte [ebx + 0x2d]
je 0x4cb681
xor edx, edx
jmp 0x4cb686
mov edx, 1
test edx, edx
jne 0x4cb6db
mov esi, dword [ebp - 0x64]
cmp dword [ebp - 0x24], 0
jne 0x4cb6db
cmp edi, esi
jb 0x4cb6db
cmp byte [esi - 1], 0xd
jne 0x4cb33a
cmp edi, esi
jbe 0x4cb33a
cmp byte [esi], 0xa
jne 0x4cb33a
mov eax, dword [ebp - 0x54]
test byte [eax + 0xc], 0x20
jne 0x4cb33a
cmp dword [ebx + 0x18], 1
je 0x4cb6d5
cmp dword [ebx + 0x18], 2
je 0x4cb6d5
cmp dword [ebx + 0x1c], 2
jne 0x4cb33a
inc esi
jmp 0x4cb33a
cmp dword [ebp - 4], 1
jne 0x4cb76a
cmp dword [ebp - 0x20], 0
je 0x4cb72a
cmp dword [ebp + 0x24], 4
jl 0x4cb711
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.004cf9ec
add esp, 0xc
mov edx, dword [ebx + 0x7c]
cmp edx, dword [ebp + 0x24]
jle 0x4cb720
mov dword [ebx + 0x38], 1
push dword [ebx + 0xc]
call dword [0x7477ac]
pop ecx
cmp dword [ebx + 0x38], 0
je 0x4cb734
xor ecx, ecx
jmp 0x4cb73e
mov ecx, dword [ebx + 0x7c]
sar ecx, 1
jns 0x4cb73e
adc ecx, 0
mov dword [ebp - 4], ecx
cmp dword [ebp + 0x24], 2
jge 0x4cb74e
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x4cb765
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 0x4cb7b5
cmp dword [ebp - 0x20], 0
je 0x4cb77a
push dword [ebx + 0xc]
call dword [0x7477ac]
pop ecx
cmp dword [ebp - 4], 0
je 0x4cb78b
cmp dword [ebp - 4], 0xfffffff4
je 0x4cb78b
mov eax, dword [ebp - 4]
jmp 0x4cb7b5
cmp dword [ebp - 0x44], 0
je 0x4cb7b2
cmp dword [ebp + 0x24], 1
jle 0x4cb7ab
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 0x4cb7b5
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret