Function at 0xbf590
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x1e
push 0
push 0
dec ecx
jne 0xbf599
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0xc0369
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x74], 0x1f4
mov eax, dword [ebp - 4]
add eax, 0x58
call fcn.00013d18
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x44], edx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x68], edx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x34]
lea edx, [ebp - 0x40]
mov eax, ebx
call fcn.000b49ac
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0x34]
call fcn.000b72b4
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 0x34]
call fcn.00013db0
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 0x28]
call fcn.000b72b4
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x28]
call fcn.00013db0
cmp dword [ebp - 0x34], 0
jne 0xbf659
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0xc]
call fcn.00013db0
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x10]
call fcn.00013db0
lea edx, [ebp - 0x60]
mov eax, dword [ebp - 0x40]
call fcn.0002fd54
mov eax, dword [ebp - 0x60]
mov edx, 0xc0384
call fcn.000140b8
jne 0xbf6d7
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0
setne bl
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
add eax, 0x238
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
call fcn.00013d6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
add eax, 0x234
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x7c]
call fcn.00013d6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
add eax, 0x228
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x60]
call fcn.00013d6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
add eax, 0x220
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c]
call fcn.00013d6c
jmp 0xbf719
xor ebx, ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
add eax, 0x238
call fcn.00013d18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
add eax, 0x234
call fcn.00013d18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
add eax, 0x228
call fcn.00013d18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
add eax, 0x220
call fcn.00013d18
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0
je 0xbf726
test bl, bl
je 0xbf72a
xor eax, eax
jmp 0xbf72c
mov al, 1
mov ebx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
call fcn.00039088
test eax, eax
setg byte [ebp - 0x45]
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x78]
and al, byte [ebp - 0x45]
je 0xbf75c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, 0xc0394
call fcn.000140b8
je 0xbf760
xor eax, eax
jmp 0xbf762
mov al, 1
mov byte [ebp - 0x29], al
cmp byte [ebp - 0x29], 0
je 0xbf77d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov ecx, 0xc03a0
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
cmp byte [ebp - 0x45], 0
je 0xbf7e2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
call fcn.00039088
lea edx, [ebp - 0x68]
call fcn.0003006c
mov ecx, dword [ebp - 0x68]
lea eax, [ebp - 0x64]
mov edx, 0xc03c0
call fcn.00013ff4
mov ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x34], 0
je 0xbf7e2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x34]
lea eax, [ebp - 0x6c]
mov edx, 0xc03dc
call fcn.00013ff4
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x70], 0
je 0xbf80e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
lea eax, [ebp - 0x70]
mov edx, 0xc03f4
call fcn.00013ff4
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x64]
test esi, esi
jg 0xbf825
mov eax, dword [ebp - 4]
cmp dword [eax + 0x4c], 0
jle 0xbf8ae
mov eax, dword [ebp - 4]
cmp esi, dword [eax + 0x4c]
jg 0xbf874
push 0xc040c
lea edx, [ebp - 0x78]
mov eax, esi
call fcn.0003006c
push dword [ebp - 0x78]
push 0xc0424
lea edx, [ebp - 0x7c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.0003006c
push dword [ebp - 0x7c]
lea eax, [ebp - 0x74]
mov edx, 4
call fcn.00014068
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
jmp 0xbf8ae
push 0xc040c
lea edx, [ebp - 0x84]
mov eax, esi
call fcn.0003006c
push dword [ebp - 0x84]
push 0xc0424
lea eax, [ebp - 0x80]
mov edx, 3
call fcn.00014068
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
lea eax, [ebp - 0x44]
call fcn.00013d18
test bl, bl
je 0xbf8c7
lea eax, [ebp - 0x44]
mov edx, 0xc0430
call fcn.00013db0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x2c], 0
je 0xbf932
lea eax, [ebp - 0x88]
mov ecx, 0xc0440
mov edx, dword [ebp - 0x44]
call fcn.00013ff4
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
call fcn.0003006c
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x8c]
mov edx, 0xc0460
call fcn.00013ff4
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
jmp 0xbf958
lea eax, [ebp - 0x94]
mov ecx, 0xc0478
mov edx, dword [ebp - 0x44]
call fcn.00013ff4
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
cmp dword [ebp - 0x34], 0
je 0xbf9b3
push dword [ebp - 0x34]
push 0xc0494
push dword [ebp - 0x28]
lea eax, [ebp - 0xa0]
mov edx, 3
call fcn.00014068
mov eax, dword [ebp - 0xa0]
lea edx, [ebp - 0x9c]
call fcn.000b75b0
mov ecx, dword [ebp - 0x9c]
lea eax, [ebp - 0x98]
mov edx, 0xc04a0
call fcn.00013ff4
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
test bl, bl
je 0xbfa1b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x60], 0
je 0xbfa1b
mov eax, dword [ebp - 4]
push dword [eax + 0x60]
push 0xc0494
mov eax, dword [ebp - 4]
push dword [eax + 0x3c]
lea eax, [ebp - 0xac]
mov edx, 3
call fcn.00014068
mov eax, dword [ebp - 0xac]
lea edx, [ebp - 0xa8]
call fcn.000b75b0
mov ecx, dword [ebp - 0xa8]
lea eax, [ebp - 0xa4]
mov edx, 0xc04c0
call fcn.00013ff4
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
mov eax, dword [ebp - 0x1c]
call fcn.000b54fc
test al, al
je 0xbfa43
push 0xc04e4
push dword [ebp - 0x1c]
push 0xc04f0
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00014068
jmp 0xbfa4e
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.00013db0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x48], 0
je 0xbfa9b
mov eax, dword [ebp - 0x14]
mov edx, 0xc04fc
call fcn.000140b8
je 0xbfa9b
push 0xc0508
push dword [ebp - 0x24]
push 0xc0494
push dword [ebp - 0x14]
lea eax, [ebp - 0xb0]
mov edx, 4
call fcn.00014068
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
jmp 0xbfac1
lea eax, [ebp - 0xb4]
mov ecx, dword [ebp - 0x24]
mov edx, 0xc0508
call fcn.00013ff4
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
test bl, bl
je 0xbfae8
push dword [ebp - 0x40]
push 0xc0518
push dword [ebp - 0x24]
push 0xc0494
push dword [ebp - 0x14]
push dword [ebp - 0x4c]
lea eax, [ebp - 0x4c]
mov edx, 6
call fcn.00014068
mov eax, dword [ebp - 0x4c]
mov edx, 0xc0524
call fcn.000140b8
jne 0xbfb04
lea eax, [ebp - 0x4c]
mov edx, 0xc0530
call fcn.00013db0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, 0xc053c
call fcn.000140b8
jne 0xbfb57
lea edx, [ebp - 0xbc]
mov eax, dword [ebp - 8]
call fcn.0002fd54
push dword [ebp - 0xbc]
push 0xc0548
push dword [ebp - 0x4c]
lea eax, [ebp - 0xb8]
mov edx, 3
call fcn.00014068
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
jmp 0xbfba1
lea edx, [ebp - 0xc4]
mov eax, dword [ebp - 8]
call fcn.0002fd54
push dword [ebp - 0xc4]
push 0xc0548
push dword [ebp - 0x4c]
push 0xc0554
mov eax, dword [ebp - 4]
push dword [eax + 0x38]
lea eax, [ebp - 0xc0]
mov edx, 5
call fcn.00014068
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov esi, dword [eax]
call dword [esi + 0x54]
test bl, bl
je 0xbfbc9
mov eax, dword [ebp - 4]
add eax, 8
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
call fcn.00013d6c
mov eax, dword [ebp - 4]
add eax, 4
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x7c]
call fcn.00013d6c
jmp 0xbfbe5
mov eax, dword [ebp - 4]
add eax, 8
mov edx, dword [ebp - 0x1c]
call fcn.00013d6c
mov eax, dword [ebp - 4]
add eax, 4
mov edx, dword [ebp - 0x14]
call fcn.00013d6c
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x24]
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0xc8]
mov eax, esi
mov esi, dword [eax]
call dword [esi + 0xc]
cmp dword [ebp - 0xc8], 0
je 0xbfc18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea edx, [ebp - 0xcc]
mov eax, dword [ebp - 0x40]
call fcn.0002fd54
mov eax, dword [ebp - 0xcc]
mov edx, 0xc0384
call fcn.000140b8
sete dl
mov eax, dword [ebp - 4]
call fcn.000bf534
test al, al
jne 0xbfc60
mov eax, dword [ebp - 4]
add eax, 0x50
call fcn.00013d18
mov eax, dword [ebp - 4]
add eax, 0x54
call fcn.00013d18
jmp 0xc031c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
xor edx, edx
call fcn.0003907c
lea eax, [ebp - 0x18]
call fcn.00013d18
cmp byte [ebp - 0x29], 0
je 0xbfdd9
lea edx, [ebp - 0xd0]
mov eax, dword [ebp - 4]
call fcn.000bf09c
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1c8], 0
jne 0xc031c
call sub.kernel32.dll_GetTickCount
mov esi, eax
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
call dword [edi + 0x80]
cmp dword [ebp - 0x24], 0
jne 0xbfd0e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1c8], 0
jne 0xbfd0e
call sub.kernel32.dll_GetTickCount
mov edx, esi
call fcn.000bed4c
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cdq
cmp edx, dword [esp + 4]
jne 0xbfd0a
cmp eax, dword [esp]
pop edx
pop eax
ja 0xbfcb8
jmp 0xbfd0e
pop edx
pop eax
jg 0xbfcb8
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.000befcc
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x24]
call fcn.00013db0
call sub.kernel32.dll_GetTickCount
mov esi, eax
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
call dword [edi + 0x80]
cmp dword [ebp - 0x24], 0
je 0xbfd81
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1c8], 0
jne 0xbfd81
call sub.kernel32.dll_GetTickCount
mov edx, esi
call fcn.000bed4c
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cdq
cmp edx, dword [esp + 4]
jne 0xbfd7d
cmp eax, dword [esp]
pop edx
pop eax
ja 0xbfd2b
jmp 0xbfd81
pop edx
pop eax
jg 0xbfd2b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x74]
cmp eax, 0x64
jl 0xbfec4
cmp eax, 0xc8
jge 0xbfec4
lea eax, [ebp - 0x18]
call fcn.00013d18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
call fcn.00039088
mov edx, dword [ebp - 4]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x5c]
mov eax, esi
call fcn.00039088
mov ecx, eax
mov edx, dword [esi + 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
call dword [esi + 0x94]
jmp 0xbfec4
cmp byte [ebp - 0x45], 0
je 0xbfea5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
call fcn.00039088
cmp eax, 0x10000
jl 0xbfe47
lea edx, [ebp - 0xd4]
mov eax, dword [ebp - 4]
call fcn.000bf09c
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5c]
call fcn.00039088
mov edx, dword [ebp - 4]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x5c]
mov eax, esi
call fcn.00039088
mov ecx, eax
mov edx, dword [esi + 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
call dword [esi + 0x94]
jmp 0xbfec4
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x5c]
mov eax, esi
call fcn.00039088
mov edx, eax
lea ecx, [ebp - 0xd8]
mov eax, esi
call fcn.000b517c
mov eax, dword [ebp - 0xd8]
push eax
lea edx, [ebp - 0xdc]
mov eax, dword [ebp - 4]
call fcn.000bf09c
mov edx, dword [ebp - 0xdc]
lea eax, [ebp - 0x24]
pop ecx
call fcn.00013ff4
mov eax, dword [ebp - 0x24]
call fcn.00013fa8
mov edx, dword [ebp - 4]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x78]
jmp 0xbfec4
lea edx, [ebp - 0xe0]
mov eax, dword [ebp - 4]
call fcn.000bf09c
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
call dword [ecx + 0x78]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1c8], 0
jne 0xc031c
mov eax, dword [ebp - 4]
call fcn.000bef7c
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 4]
mov byte [eax + 0x40], 0
cmp dword [ebp - 0x18], 0
jne 0xbffff
call sub.kernel32.dll_GetTickCount
mov esi, eax
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
call dword [edi + 0x80]
cmp dword [ebp - 0x24], 0
jne 0xbff54
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1c8], 0
jne 0xbff54
call sub.kernel32.dll_GetTickCount
mov edx, esi
call fcn.000bed4c
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cdq
cmp edx, dword [esp + 4]
jne 0xbff50
cmp eax, dword [esp]
pop edx
pop eax
ja 0xbfefe
jmp 0xbff54
pop edx
pop eax
jg 0xbfefe
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 0x24]
call fcn.0002fd54
mov edx, dword [ebp - 0xe4]
mov eax, 0xc0564
call fcn.00014294
dec eax
jne 0xbff90
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.000befcc
jmp 0xbffb3
lea eax, [ebp - 0x24]
mov edx, 0xc0574
call fcn.00013fb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0x24]
call fcn.000b51ac
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x74], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1c8], 0
jne 0xc000d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x74], 0x64
jne 0xc000d
call sub.kernel32.dll_GetTickCount
mov edx, esi
call fcn.000bed4c
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cdq
cmp edx, dword [esp + 4]
jne 0xbfff5
cmp eax, dword [esp]
pop edx
pop eax
ja 0xbfefe
jmp 0xc000d
pop edx
pop eax
jg 0xbfefe
jmp 0xc000d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov edx, 0xc0394
call fcn.000140b8
setne byte [ebp - 0x1d]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0xc0251
mov dl, 1
mov eax, dword [0x46658]
call fcn.000468cc
mov dword [ebp - 0x3c], eax
xor eax, eax
push ebp
push 0xc024a
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetTickCount
mov esi, eax
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
call dword [edi + 0x80]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
call dword [ecx + 0x34]
cmp dword [ebp - 0x24], 0
je 0xc00b9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1c8], 0
jne 0xc00b9
call sub.kernel32.dll_GetTickCount
mov edx, esi
call fcn.000bed4c
xor edx, edx
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cdq
cmp edx, dword [esp + 4]
jne 0xc00b5
cmp eax, dword [esp]
pop edx
pop eax
ja 0xc0058
jmp 0xc00b9
pop edx
pop eax
jg 0xc0058
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0xc0223
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
call fcn.000b5208
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 0x24]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x24]
call fcn.0002fd54
mov edx, dword [ebp - 0x10]
mov eax, 0xc0580
call fcn.00014294
dec eax
jne 0xc0145
lea ecx, [ebp - 0xec]
mov edx, 0xc0548
mov eax, dword [ebp - 0x24]
call fcn.000b484c
mov eax, dword [ebp - 0xec]
lea edx, [ebp - 0xe8]
call fcn.0002ffb8
mov eax, dword [ebp - 0xe8]
or edx, 0xffffffff
call fcn.00030188
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xffffffff
je 0xc0145
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40], 0
jne 0xc0145
mov eax, dword [ebp - 4]
mov byte [eax + 0x40], 1
mov edx, dword [ebp - 0x10]
mov eax, 0xc0598
call fcn.00014294
dec eax
jne 0xc018a
lea ecx, [ebp - 0xf4]
mov edx, 0xc0548
mov eax, dword [ebp - 0x24]
call fcn.000b484c
mov eax, dword [ebp - 0xf4]
lea edx, [ebp - 0xf0]
call fcn.0002ffb8
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 4]
add eax, 0x34
call fcn.00013d6c
mov edx, dword [ebp - 0x10]
mov eax, 0xc05b0
call fcn.00014294
dec eax
jne 0xc01d3
lea ecx, [ebp - 0xf8]
mov edx, 0xc0548
mov eax, dword [ebp - 0x10]
call fcn.000b484c
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0x24]
call fcn.0002ffb8
mov edx, dword [ebp - 0x24]
mov eax, 0xc05cc
call fcn.00014294
test eax, eax
jle 0xc01d3
mov eax, dword [ebp - 4]
mov byte [eax + 0x40], 2
test bl, bl
je 0xc01fe
mov edx, dword [ebp - 0x10]
mov eax, 0xc05dc
call fcn.00014294
dec eax
jne 0xc0223
mov edx, dword [ebp - 0x10]
mov eax, 0xc05f8
call fcn.00014294
test eax, eax
jle 0xc0223
mov byte [ebp - 0x1d], 1
jmp 0xc0223
mov edx, dword [ebp - 0x10]
mov eax, 0xc0608
call fcn.00014294
dec eax
jne 0xc0223
mov edx, dword [ebp - 0x10]
mov eax, 0xc05f8
call fcn.00014294
test eax, eax
jle 0xc0223
mov byte [ebp - 0x1d], 1
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
call dword [edx + 0x14]
cmp eax, dword [ebp - 0x38]
jg 0xc00c3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xc0251
mov eax, dword [ebp - 0x3c]
call fcn.00012ff0
ret
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
cmp dword [eax + 0x1c8], 0
sete byte [ebp - 9]
cmp byte [ebp - 9], 0
je 0xc031c
mov eax, dword [ebp - 8]
mov edx, 0xc061c
call fcn.000140b8
setne al
test al, al
je 0xc028c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x74], 0xcc
jne 0xc0290
xor eax, eax
jmp 0xc0292
mov al, 1
test al, al
je 0xc02a2
mov eax, dword [ebp - 4]
cmp dword [eax + 0x74], 0x130
jne 0xc02a6
xor eax, eax
jmp 0xc02a8
mov al, 1
test al, al
je 0xc02e6
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x40]
sub al, 1
jb 0xc02be
je 0xc02cb
dec al
je 0xc02db
jmp 0xc02e6
mov eax, dword [ebp - 4]
call fcn.000c0624
mov byte [ebp - 9], al
jmp 0xc02e6
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.000c06e4
mov byte [ebp - 9], al
jmp 0xc02e6
mov eax, dword [ebp - 4]
call fcn.000c0728
mov byte [ebp - 9], al
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
xor ecx, ecx
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
cmp byte [ebp - 0x1d], 0
je 0xc031c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
call dword [edx + 0x6c]
mov eax, dword [ebp - 4]
add eax, 0x50
call fcn.00013d18
mov eax, dword [ebp - 4]
add eax, 0x54
call fcn.00013d18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xc0370
lea eax, [ebp - 0xf8]
mov edx, 0x2c
call fcn.00013d3c
lea eax, [ebp - 0x44]
mov edx, 2
call fcn.00013d3c
lea eax, [ebp - 0x34]
call fcn.00013d18
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00013d3c
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.00013d3c
ret