Function at 0x4bb080
Capabilities:
Access peb ldr_data
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 4], eax
lea esi, [ebp - 4]
xor eax, eax
push ebp
push 0x4bbbf2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [esi]
cmp dword [eax + 0x9c], 0
setne byte [ebp - 0xb]
mov eax, dword [esi]
mov edx, dword [esi]
mov ecx, dword [edx + 8]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0x14], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
cdq
mov ecx, dword [esi]
add eax, dword [ecx + 0x88]
adc edx, dword [ecx + 0x8c]
mov ecx, dword [esi]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov eax, dword [esi]
mov edx, dword [esi]
mov ecx, dword [edx + 0x20]
mov dword [eax + 0x28], ecx
mov ecx, dword [edx + 0x24]
mov dword [eax + 0x2c], ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
cdq
mov ecx, dword [esi]
add eax, dword [ecx + 0x88]
adc edx, dword [ecx + 0x8c]
mov ecx, dword [esi]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
mov eax, dword [esi]
mov dword [eax + 0x44], 0xffffffff
mov eax, dword [esi]
mov dword [eax + 0x48], 0xffffffff
mov eax, dword [esi]
xor edx, edx
mov dword [eax + 0x4c], edx
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jle 0x4bb147
xor edi, edi
jmp 0x4bbbd7
mov edx, dword [esi]
cmp dword [edx + 0x50], 0
jne 0x4bb15a
mov edx, dword [esi]
mov edx, dword [edx + 0x64]
mov bl, byte [edx + eax - 1]
jmp 0x4bb16c
mov edx, eax
mov eax, dword [esi]
call fcn.004bc4d0
mov ebx, eax
mov eax, dword [esi]
call fcn.004bc510
mov eax, dword [esi]
mov dword [eax + 0x48], 0xffffffff
mov eax, dword [esi]
xor edx, edx
mov dword [eax + 0x4c], edx
jmp 0x4bb1ed
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
cmp bl, 0xd
je 0x4bb199
cmp bl, 0xa
jne 0x4bb1da
cmp bl, 0xd
jne 0x4bb1c5
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
inc edx
mov eax, dword [esi]
call fcn.004bc4d0
cmp al, 0xa
jne 0x4bb1c5
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
add dword [eax + 0x20], 1
adc dword [eax + 0x24], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
inc eax
mov edx, dword [esi]
mov dword [edx + 0x30], eax
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
mov ebx, eax
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 4]
test al, al
jne 0x4bb17e
mov eax, dword [esi]
cmp byte [eax + 0x18], 0
jne 0x4bb214
mov eax, dword [esi]
cmp dword [eax + 0x4c], 0
je 0x4bb214
mov edi, 0xffffff95
jmp 0x4bbbd7
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jle 0x4bb227
xor edi, edi
jmp 0x4bbbd7
mov eax, dword [esi]
mov dword [eax + 0x48], 0xffffffff
mov eax, dword [esi]
xor edx, edx
mov dword [eax + 0x4c], edx
mov byte [ebp - 9], 0
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x28]
test al, al
je 0x4bb299
mov byte [ebp - 9], 1
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
mov dword [edx + 0x44], eax
jmp 0x4bb26e
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
mov ebx, eax
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jg 0x4bb284
cmp bl, 0xd
je 0x4bb284
cmp bl, 0xa
jne 0x4bb25b
mov edx, dword [esi]
mov ecx, dword [edx + 0x7c]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
sub ecx, eax
mov edx, eax
mov eax, dword [esi]
call fcn.004bc5dc
push ebp
call fcn.004bb010
pop ecx
test al, al
je 0x4bb382
mov byte [ebp - 9], 1
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jg 0x4bb382
mov edx, dword [esi]
mov dword [edx + 0x44], eax
jmp 0x4bb35d
cmp bl, 0xd
je 0x4bb2d0
cmp bl, 0xa
jne 0x4bb306
mov eax, dword [esi]
mov ebx, dword [eax + 0x7c]
mov eax, dword [esi]
cmp ebx, dword [eax + 0x78]
jge 0x4bb2ef
mov edx, ebx
inc edx
mov eax, dword [esi]
call fcn.004bc4d0
cmp al, 0xa
jne 0x4bb2ef
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
add dword [eax + 0x20], 1
adc dword [eax + 0x24], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
inc eax
mov edx, dword [esi]
mov dword [edx + 0x30], eax
jmp 0x4bb34a
xor edi, edi
mov eax, dword [esi]
mov eax, dword [eax + 0xac]
call fcn.00404c64
mov dword [ebp - 8], eax
jmp 0x4bb31b
inc edi
cmp edi, dword [ebp - 8]
jge 0x4bb33b
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
add edx, edi
mov eax, dword [esi]
call fcn.004bc4d0
mov edx, dword [esi]
mov edx, dword [edx + 0xac]
cmp al, byte [edx + edi]
je 0x4bb31a
cmp edi, dword [ebp - 8]
jne 0x4bb34a
mov eax, dword [esi]
mov edx, dword [ebp - 8]
add dword [eax + 0x7c], edx
jmp 0x4bb36d
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
mov ebx, eax
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jle 0x4bb2c6
mov edx, dword [esi]
mov ecx, dword [edx + 0x7c]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
sub ecx, eax
mov edx, eax
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
mov al, byte [eax + 0x19]
xor al, 1
and al, byte [ebp - 9]
je 0x4bb398
mov edi, 0xffffff94
jmp 0x4bbbd7
cmp byte [ebp - 9], 0
jne 0x4bb132
mov eax, dword [esi]
mov dword [eax + 0x48], 0xffffffff
mov eax, dword [esi]
xor edx, edx
mov dword [eax + 0x4c], edx
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 8]
test al, al
je 0x4bb823
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x14]
test al, al
je 0x4bb459
mov edi, 0xffffff96
mov byte [ebp - 0xa], bl
mov eax, dword [esi]
cmp byte [eax + 0x40], 0
je 0x4bb3f5
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
mov dword [edx + 0x44], eax
mov dl, byte [ebp - 0xa]
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
mov edx, dword [esi]
mov edx, dword [edx + 0x7c]
cmp eax, edx
jge 0x4bb429
mov ecx, edx
sub ecx, eax
mov edx, eax
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jg 0x4bbbbb
mov edx, dword [esi]
cmp byte [edx + 0x40], 0
je 0x4bb44f
mov edx, eax
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
inc dword [eax + 0x7c]
jmp 0x4bbbbb
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x24]
test al, al
je 0x4bb4db
mov edi, 0xffffff99
mov byte [ebp - 0xa], bl
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
mov dword [edx + 0x44], eax
mov dl, byte [ebp - 0xa]
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
mov edx, dword [esi]
mov edx, dword [edx + 0x7c]
cmp eax, edx
jge 0x4bb4b3
mov ecx, edx
sub ecx, eax
mov edx, eax
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jg 0x4bbbbb
mov edx, eax
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
inc dword [eax + 0x7c]
jmp 0x4bbbbb
mov eax, dword [esi]
cmp byte [eax + 0x75], 0
je 0x4bb6c1
cmp bl, 0x24
jne 0x4bb6c1
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jge 0x4bb6c1
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
inc edx
mov eax, dword [esi]
call fcn.004bc4d0
mov edx, eax
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x10]
test al, al
jne 0x4bb6c1
mov edi, 0xffffff96
mov eax, dword [esi]
cmp byte [eax + 0x40], 0
je 0x4bb53c
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
mov dword [edx + 0x44], eax
mov dl, 0x24
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x20]
lea eax, [ebp - 0x24]
push eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x7c]
mov eax, dword [esi]
mov ebx, dword [eax + 0x44]
sub ecx, ebx
mov edx, ebx
mov eax, dword [esi]
call fcn.004bc5f0
mov eax, dword [esi]
cmp byte [eax + 0x40], 0
je 0x4bb597
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x44]
jle 0x4bb597
mov eax, dword [esi]
mov ecx, dword [eax + 0x7c]
mov eax, dword [esi]
sub ecx, dword [eax + 0x44]
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jg 0x4bbbbb
mov eax, dword [esi]
cmp byte [eax + 0x40], 0
je 0x4bb5c0
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
mov dword [edx + 0x44], eax
mov dl, 0x24
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
mov edx, dword [esi]
mov edx, dword [edx + 0x7c]
cmp eax, edx
jge 0x4bb5f3
mov ecx, edx
sub ecx, eax
mov edx, eax
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov ebx, eax
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jg 0x4bb663
mov edx, eax
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
mov dword [edx + 0x44], eax
mov dl, 0x24
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x20]
lea eax, [ebp - 0x28]
push eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x7c]
mov eax, dword [esi]
sub ecx, dword [eax + 0x44]
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
mov eax, dword [esi]
call fcn.004bc5f0
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
mov edx, dword [esi]
cmp eax, dword [edx + 0x7c]
jge 0x4bb663
mov eax, dword [esi]
mov ecx, dword [eax + 0x7c]
mov eax, dword [esi]
sub ecx, dword [eax + 0x44]
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
call fcn.00404db0
je 0x4bb680
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jle 0x4bb5c5
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jg 0x4bbbbb
mov eax, dword [esi]
cmp byte [eax + 0x40], 0
je 0x4bb6ab
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
jmp 0x4bb6b7
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
sub eax, ebx
mov edx, dword [esi]
sub dword [edx + 0x4c], eax
mov eax, dword [esi]
inc dword [eax + 0x7c]
jmp 0x4bbbbb
mov edi, 0xffffff9a
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
mov dword [edx + 0x48], eax
mov eax, dword [esi]
xor edx, edx
mov dword [eax + 0x4c], edx
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 1
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
mov ebx, eax
mov eax, dword [esi]
mov eax, dword [eax + 0x90]
push eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x4c]
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
mov eax, dword [esi]
call fcn.004baef4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
je 0x4bb78c
lea ecx, [ebp - 0x2c]
mov eax, dword [esi]
mov eax, dword [eax + 0x90]
mov edx, dword [ebp - 0x10]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x2c]
mov eax, dword [esi]
add eax, 0xa4
call fcn.004049cc
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x90]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edi, eax
test edi, edi
jg 0x4bb791
mov ecx, 0x305
mov edx, 0x4bbc0c
mov eax, 0x4bbc5c
call fcn.004048d4
jmp 0x4bb791
mov eax, dword [esi]
dec dword [eax + 0x4c]
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 8]
test al, al
jne 0x4bb6ef
cmp edi, 0xffffff9a
jne 0x4bb7f0
mov eax, dword [esi]
mov edx, dword [ebp - 0x14]
mov dword [eax + 0x48], edx
mov eax, dword [esi]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x4c], edx
cmp byte [ebp - 0xb], 0
je 0x4bb816
mov eax, dword [esi]
mov eax, dword [eax + 0x9c]
call fcn.00404c64
dec eax
jne 0x4bb816
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
mov eax, dword [esi]
call fcn.004bc4d0
mov edx, dword [esi]
mov edx, dword [edx + 0x9c]
cmp al, byte [edx]
sete al
mov edx, dword [esi]
mov byte [edx + 0xa0], al
jmp 0x4bb816
cmp byte [ebp - 0xb], 0
je 0x4bb816
mov eax, dword [esi]
mov eax, dword [eax + 0x9c]
mov edx, dword [esi]
mov edx, dword [edx + 0xa4]
call fcn.00404db0
sete al
mov edx, dword [esi]
mov byte [edx + 0xa0], al
mov eax, dword [esi]
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0x7c], edx
jmp 0x4bbbbb
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0xc]
test al, al
jne 0x4bb839
cmp bl, 0x5f
jne 0x4bba16
mov edi, 0xffffff99
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
mov dword [edx + 0x44], eax
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0xb], 0
je 0x4bb89a
cmp bl, 0x61
jb 0x4bb85e
cmp bl, 0x7a
ja 0x4bb85e
sub bl, 0x20
mov eax, dword [esi]
mov eax, dword [eax + 0x9c]
call fcn.00404c64
mov edx, dword [esi]
mov edx, dword [edx + 0x7c]
mov ecx, dword [esi]
sub edx, dword [ecx + 0x44]
inc edx
cmp eax, edx
jl 0x4bb891
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
sub eax, dword [edx + 0x44]
mov edx, dword [esi]
mov edx, dword [edx + 0x9c]
cmp bl, byte [edx + eax]
je 0x4bb895
xor eax, eax
jmp 0x4bb897
mov al, 1
mov byte [ebp - 0xb], al
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
mov ebx, eax
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0xc]
test al, al
jne 0x4bb84b
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x10]
test al, al
jne 0x4bb84b
cmp bl, 0x5f
je 0x4bb84b
mov eax, dword [esi]
cmp byte [eax + 0x74], 0
je 0x4bb9f1
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
sub eax, dword [edx + 0x44]
dec eax
jne 0x4bb9f1
cmp byte [ebp - 0x1d], 0x71
je 0x4bb8fd
cmp byte [ebp - 0x1d], 0x51
jne 0x4bb9f1
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x14]
test al, al
je 0x4bb9f1
mov edi, 0xffffff96
mov byte [ebp - 0xa], bl
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jg 0x4bb99a
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
mov byte [ebp - 0x1d], al
mov al, byte [ebp - 0x1d]
sub al, 0x28
je 0x4bb95d
sub al, 0x14
je 0x4bb957
sub al, 0x1f
je 0x4bb94b
sub al, 0x20
je 0x4bb951
jmp 0x4bb961
mov byte [ebp - 0x1d], 0x5d
jmp 0x4bb961
mov byte [ebp - 0x1d], 0x7d
jmp 0x4bb961
mov byte [ebp - 0x1d], 0x3e
jmp 0x4bb961
mov byte [ebp - 0x1d], 0x29
mov byte [ebp - 0x1e], 0
mov eax, dword [esi]
inc dword [eax + 0x7c]
jmp 0x4bb98e
mov edx, eax
mov eax, dword [esi]
call fcn.004bc4d0
mov ebx, eax
mov eax, dword [esi]
inc dword [eax + 0x7c]
cmp byte [ebp - 0x1e], 0
je 0x4bb987
cmp bl, byte [ebp - 0xa]
je 0x4bb99a
cmp bl, byte [ebp - 0x1d]
sete byte [ebp - 0x1e]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jle 0x4bb96c
mov eax, dword [esi]
cmp byte [eax + 0x40], 0
je 0x4bb9bd
mov eax, dword [esi]
mov ecx, dword [eax + 0x7c]
mov eax, dword [esi]
sub ecx, dword [eax + 0x44]
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
mov eax, dword [esi]
call fcn.004bc5dc
jmp 0x4bbbbb
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov edx, dword [esi]
sub eax, dword [edx + 0x44]
cmp eax, 5
jle 0x4bbbbb
mov eax, dword [esi]
mov ecx, dword [eax + 0x7c]
mov eax, dword [esi]
sub ecx, dword [eax + 0x44]
sub ecx, 5
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
add edx, 3
mov eax, dword [esi]
call fcn.004bc5dc
jmp 0x4bbbbb
mov eax, dword [esi]
mov dl, byte [ebp - 0xb]
mov byte [eax + 0xa0], dl
mov edx, dword [esi]
mov ecx, dword [edx + 0x7c]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
sub ecx, eax
mov edx, eax
mov eax, dword [esi]
call fcn.004bc5dc
jmp 0x4bbbbb
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x10]
test al, al
je 0x4bbb56
mov edi, 0xffffff97
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
cmp byte [ebp - 0xb], 0
je 0x4bba83
mov eax, dword [esi]
mov eax, dword [eax + 0x9c]
call fcn.00404c64
mov edx, dword [esi]
mov edx, dword [edx + 0x7c]
sub edx, dword [ebp - 0x1c]
inc edx
cmp eax, edx
jl 0x4bba7a
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
sub eax, dword [ebp - 0x1c]
mov edx, dword [esi]
mov edx, dword [edx + 0x9c]
cmp bl, byte [edx + eax]
je 0x4bba7e
xor eax, eax
jmp 0x4bba80
mov al, 1
mov byte [ebp - 0xb], al
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
mov ebx, eax
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x10]
test al, al
jne 0x4bba34
mov eax, dword [esi]
mov dl, byte [ebp - 0xb]
mov byte [eax + 0xa0], dl
lea eax, [ebp - 0x30]
mov edx, ebx
call fcn.00404b60
mov eax, dword [ebp - 0x30]
mov edx, dword [esi]
mov edx, dword [edx + 0xb0]
call fcn.00404db0
jne 0x4bbbbb
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
inc eax
mov edx, dword [esi]
cmp eax, dword [edx + 0x78]
jg 0x4bbbbb
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
inc edx
mov eax, dword [esi]
call fcn.004bc4d0
mov edx, eax
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x10]
test al, al
je 0x4bbbbb
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
mov ebx, eax
jmp 0x4bbb47
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov ecx, 1
mov eax, dword [esi]
call fcn.004bc5dc
mov eax, dword [esi]
inc dword [eax + 0x7c]
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
mov ebx, eax
mov edx, ebx
mov eax, dword [esi]
mov ecx, dword [eax]
call dword [ecx + 0x10]
test al, al
jne 0x4bbb23
jmp 0x4bbbbb
push 0x4bbc78
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
mov edx, eax
lea eax, [ebp - 0x38]
call fcn.00404b60
push dword [ebp - 0x38]
push 0x4bbca0
mov eax, dword [esi]
mov edx, dword [eax + 0x7c]
mov eax, dword [esi]
call fcn.004bc4d0
and eax, 0xff
lea ecx, [ebp - 0x3c]
mov edx, 4
call fcn.004099cc
push dword [ebp - 0x3c]
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.00404d24
mov ecx, dword [ebp - 0x34]
mov dl, 1
mov eax, dword [0x408510]
call fcn.0040d938
call fcn.00404310
cmp edi, 0x80000001
jne 0x4bbbd7
mov ecx, 0x36b
mov edx, 0x4bbc0c
mov eax, 0x4bbc5c
call fcn.004048d4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4bbbf9
lea eax, [ebp - 0x3c]
mov edx, 7
call fcn.0040499c
ret