Function at 0x45dd50
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x52
push 0
push 0
dec ecx
jne 0x45d768
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x45e293
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebx + 0xa2d], 0
jne 0x45d797
cmp dword [ebx + 0x184], 0x40010004
jne 0x45d7a5
push 0
mov eax, dword [ebx + 0x114]
push eax
call sub.kernel32.dll_TerminateProcess
mov eax, dword [ebx + 0x188]
test eax, eax
je 0x45d7ce
cmp dword [ebx + 0xa30], 0
je 0x45d7c2
lea edx, [ebx + 4]
push edx
push eax
call sub.kernel32.dll_SetThreadContext
mov eax, dword [ebx + 0x188]
push eax
call sub.kernel32.dll_CloseHandle
cmp byte [ebx + 0xa34], 0
jne 0x45d7f3
mov eax, dword [ebx + 0x184]
push eax
mov eax, dword [ebx + 0x12c]
push eax
mov eax, dword [ebx + 0x128]
push eax
call sub.kernel32.dll_ContinueDebugEvent
jmp 0x45d7fa
mov byte [ebx + 0xa34], 0
push 0xffffffffffffffff
lea eax, [ebx + 0x124]
push eax
call sub.kernel32.dll_WaitForDebugEvent
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x45d847
mov dword [ebx + 0x190], 2
push 0
mov eax, dword [ebx + 0x114]
push eax
call sub.kernel32.dll_TerminateProcess
push 0x40010004
mov eax, dword [ebx + 0x12c]
push eax
mov eax, dword [ebx + 0x128]
push eax
call sub.kernel32.dll_ContinueDebugEvent
jmp 0x45e26d
mov eax, dword [ebx + 0x12c]
push eax
push 0
push 0x1f03ff
call sub.kernel32.dll_OpenThread
mov dword [ebx + 0x188], eax
mov dword [ebx + 4], 0x10017
lea eax, [ebx + 4]
push eax
mov eax, dword [ebx + 0x188]
push eax
call sub.kernel32.dll_GetThreadContext
mov eax, dword [ebx + 0x124]
cmp eax, 8
ja case.0x45d886.0
jmp dword [eax*4 + 0x45d88d]
mov dword [ebx + 0x190], 1
push 0x45e2ac
mov eax, dword [ebx + 0x128]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x21c]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x21c]
push 0x45e2d0
mov eax, dword [ebx + 0x12c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x220]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x220]
push 0x45e2e0
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x224]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x224]
lea eax, [ebx + 0x18c]
mov edx, 6
call fcn.004043d8
mov edx, dword [ebx + 0x12c]
mov eax, ebx
call fcn.0045e5d0
cmp dword [ebx + 0xa30], 0
jne 0x45d968
mov eax, dword [ebx + 0xa3c]
cmp byte [eax + 0x40], 0
jne 0x45d968
mov eax, dword [ebx + 0x13c]
mov dword [ebx + 0xa30], eax
mov dword [ebx + 0x184], 0x10002
jmp 0x45e24e
mov dword [ebx + 0x190], 3
mov eax, dword [ebx + 0x12c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x228]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x228]
lea eax, [ebx + 0x18c]
mov edx, 0x45e2f8
call fcn.00404364
mov dword [ebx + 0x184], 0x10002
jmp 0x45e24e
mov dword [ebx + 0x190], 2
push 0x45e31c
mov eax, dword [ebx + 0x128]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x22c]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x22c]
push 0x45e340
mov eax, dword [ebx + 0x130]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x230]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x230]
lea eax, [ebx + 0x18c]
mov edx, 4
call fcn.004043d8
mov dword [ebx + 0x184], 0x10002
push 0x40010004
mov eax, dword [ebx + 0x12c]
push eax
mov eax, dword [ebx + 0x128]
push eax
call sub.kernel32.dll_ContinueDebugEvent
mov eax, dword [ebx + 0x188]
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [ebx + 0x118]
push eax
call sub.kernel32.dll_CloseHandle
mov eax, dword [ebx + 0x114]
push eax
call sub.kernel32.dll_CloseHandle
mov dl, 1
mov eax, dword [ebx + 0xa3c]
mov ecx, dword [eax]
call dword [ecx - 4]
jmp 0x45e24e
mov dword [ebx + 0x190], 4
push 0x45e358
mov eax, dword [ebx + 0x12c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x234]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x234]
push 0x45e340
mov eax, dword [ebx + 0x130]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x238]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x238]
lea eax, [ebx + 0x18c]
mov edx, 4
call fcn.004043d8
mov dword [ebx + 0x184], 0x10002
jmp 0x45e24e
mov dword [ebx + 0x190], 5
cmp dword [ebx + 0x130], 0
je 0x45db99
cmp dword [ebx + 0x140], 0
je 0x45db99
push 4
lea ecx, [ebp - 0xc]
mov edx, dword [ebx + 0x140]
mov eax, ebx
call fcn.0045e7c8
cmp dword [ebp - 0xc], 0
je 0x45db99
push 0x105
lea ecx, [ebp - 0x112]
mov edx, dword [ebp - 0xc]
mov eax, ebx
call fcn.0045e7c8
cmp word [ebx + 0x144], 0
je 0x45db86
lea edx, [ebp - 0x112]
lea eax, [ebp - 0x217]
mov ecx, 0x400
call fcn.004057fc
lea eax, [ebp - 0x23c]
lea edx, [ebp - 0x217]
mov ecx, 0x105
call fcn.004042c8
mov eax, dword [ebp - 0x23c]
lea edx, [ebp - 4]
call fcn.00405bcc
jmp 0x45db99
lea eax, [ebp - 4]
lea edx, [ebp - 0x112]
mov ecx, 0x105
call fcn.004042c8
cmp dword [ebp - 4], 0
jne 0x45dbac
lea eax, [ebp - 4]
mov edx, 0x45e37c
call fcn.004040f0
push 0x45e39c
lea edx, [ebp - 0x240]
mov eax, dword [ebp - 4]
call fcn.00408738
push dword [ebp - 0x240]
push 0x45e2e0
mov eax, dword [ebx + 0x134]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x244]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x244]
lea eax, [ebx + 0x18c]
mov edx, 4
call fcn.004043d8
cmp dword [ebx + 0xa30], 0
jne 0x45dc37
mov eax, dword [ebx + 0xa3c]
cmp byte [eax + 0x40], 0
je 0x45dc37
mov edi, dword [ebx + 0x130]
test edi, edi
je 0x45dc37
mov eax, edi
call fcn.0045a5bc
mov edx, dword [ebx + 0xa3c]
cmp eax, dword [edx + 0x4c]
jne 0x45dc37
mov eax, dword [ebx + 0x134]
mov dword [ebx + 0xa30], eax
mov dword [ebx + 0x184], 0x10002
jmp 0x45e24e
mov dword [ebx + 0x190], 6
push 0xff
lea eax, [ebp - 0x112]
push eax
mov eax, dword [ebx + 0x134]
push eax
call sub.kernel32.dll_GetModuleFileNameA_1
push 0x45e3b0
lea eax, [ebp - 0x24c]
lea edx, [ebp - 0x112]
mov ecx, 0x105
call fcn.004042c8
mov eax, dword [ebp - 0x24c]
lea edx, [ebp - 0x248]
call fcn.00408738
push dword [ebp - 0x248]
push 0x45e2e0
mov eax, dword [ebx + 0x134]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x250]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x250]
lea eax, [ebx + 0x18c]
mov edx, 4
call fcn.004043d8
mov dword [ebx + 0x184], 0x10002
jmp 0x45e24e
mov dword [ebx + 0x190], 7
lea eax, [ebp - 8]
push eax
push 0xff
lea eax, [ebp - 0x112]
push eax
mov eax, dword [ebx + 0x130]
push eax
mov eax, dword [ebx + 0x114]
push eax
call sub.kernel32.dll_ReadProcessMemory
push 0x45e3c4
lea eax, [ebp - 0x254]
lea edx, [ebp - 0x112]
mov ecx, 0x105
call fcn.004042c8
push dword [ebp - 0x254]
push 0x45e3e0
lea eax, [ebx + 0x18c]
mov edx, 3
call fcn.004043d8
mov dword [ebx + 0x184], 0x10002
jmp 0x45e24e
mov eax, dword [ebx + 0x130]
cmp eax, 0x80000004
jg 0x45dd78
je 0x45deb7
sub eax, 0x80000001
je 0x45e17b
sub eax, 2
je 0x45dd93
jmp 0x45e1c4
sub eax, 0xc0000005
je 0x45e07a
sub eax, 0x87
je 0x45e132
jmp 0x45e1c4
push 1
lea ecx, [ebp - 0xd]
mov edx, dword [ebx + 0x13c]
mov eax, ebx
call fcn.0045e7c8
cmp byte [ebp - 0xd], 0xcc
jne 0x45de6e
mov edx, dword [ebx + 0x13c]
mov eax, ebx
call fcn.0045e798
test al, al
je 0x45de25
mov eax, dword [ebx + 0x13c]
mov dword [ebx + 0xbc], eax
lea eax, [ebx + 4]
push eax
mov eax, dword [ebx + 0x188]
push eax
call sub.kernel32.dll_SetThreadContext
mov dword [ebx + 0x190], 9
mov eax, dword [ebx + 0xbc]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x258]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x258]
lea eax, [ebx + 0x18c]
mov edx, 0x45e3ec
call fcn.00404364
mov dword [ebx + 0x184], 0x10002
jmp 0x45e24e
mov dword [ebx + 0x190], 8
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x25c]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x25c]
lea eax, [ebx + 0x18c]
mov edx, 0x45e410
call fcn.00404364
mov dword [ebx + 0x184], 0x80010001
jmp 0x45e24e
mov dword [ebx + 0x190], 0xa
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x260]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x260]
lea eax, [ebx + 0x18c]
mov edx, 0x45e438
call fcn.00404364
mov dword [ebx + 0x184], 0x80010001
jmp 0x45e24e
cmp byte [ebx + 0xa2c], 0
je 0x45df09
mov dword [ebx + 0x190], 0xc
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x264]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x264]
lea eax, [ebx + 0x18c]
mov edx, 0x45e458
call fcn.00404364
mov dword [ebx + 0x184], 0x10002
jmp 0x45e24e
xor eax, eax
mov dword [ebp - 8], eax
mov cl, byte [ebp - 8]
mov dl, byte [ebx + 0x18]
mov eax, ebx
call fcn.0045d724
test al, al
jne 0x45df28
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jne 0x45df0e
cmp dword [ebp - 8], 4
je 0x45e031
mov dl, byte [ebp - 8]
mov eax, ebx
call fcn.0045e6fc
test al, al
je 0x45dfc6
xor eax, eax
mov dword [ebx + 0x18], eax
lea eax, [ebx + 4]
push eax
mov eax, dword [ebx + 0x188]
push eax
call sub.kernel32.dll_SetThreadContext
mov eax, dword [ebp - 8]
add eax, 0xf
mov dword [ebx + 0x190], eax
push 0x45e478
mov eax, dword [ebp - 8]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x268]
call fcn.00408248
push dword [ebp - 0x268]
push 0x45e498
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x26c]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x26c]
lea eax, [ebx + 0x18c]
mov edx, 4
call fcn.004043d8
mov dword [ebx + 0x184], 0x10002
jmp 0x45e24e
mov dword [ebx + 0x190], 0x13
push 0x45e478
mov eax, dword [ebp - 8]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x270]
call fcn.00408248
push dword [ebp - 0x270]
push 0x45e4ac
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x274]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x274]
lea eax, [ebx + 0x18c]
mov edx, 4
call fcn.004043d8
mov dword [ebx + 0x184], 0x80010001
jmp 0x45e24e
mov dword [ebx + 0x190], 0xb
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x278]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x278]
lea eax, [ebx + 0x18c]
mov edx, 0x45e4c4
call fcn.00404364
mov dword [ebx + 0x184], 0x80010001
jmp 0x45e24e
mov dword [ebx + 0x190], 0xd
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x27c]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x27c]
lea eax, [ebx + 0x18c]
mov edx, 0x45e4e8
call fcn.00404364
cmp dword [ebx + 0x140], 2
jb 0x45e123
cmp dword [ebx + 0x144], 0
jne 0x45e0d8
lea eax, [ebx + 0x18c]
mov edx, 0x45e508
call fcn.00404320
jmp 0x45e0e8
lea eax, [ebx + 0x18c]
mov edx, 0x45e524
call fcn.00404320
push dword [ebx + 0x18c]
push 0x45e540
mov eax, dword [ebx + 0x148]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x280]
mov eax, 8
call fcn.00408298
push dword [ebp - 0x280]
lea eax, [ebx + 0x18c]
mov edx, 3
call fcn.004043d8
mov dword [ebx + 0x184], 0x80010001
jmp 0x45e24e
mov dword [ebx + 0x190], 0xe
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x284]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x284]
lea eax, [ebx + 0x18c]
mov edx, 0x45e54c
call fcn.00404364
mov dword [ebx + 0x184], 0x80010001
jmp 0x45e24e
mov dword [ebx + 0x190], 0x14
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x288]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x288]
lea eax, [ebx + 0x18c]
mov edx, 0x45e570
call fcn.00404364
mov dword [ebx + 0x184], 0x10002
jmp 0x45e24e
mov dword [ebx + 0x190], 0xe
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x28c]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x28c]
lea eax, [ebx + 0x18c]
mov edx, 0x45e588
call fcn.00404364
mov dword [ebx + 0x184], 0x80010001
jmp 0x45e24e
mov dword [ebx + 0x190], 0xe
mov eax, dword [ebx + 0x13c]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0x290]
mov eax, 8
call fcn.00408298
mov ecx, dword [ebp - 0x290]
lea eax, [ebx + 0x18c]
mov edx, 0x45e5b0
call fcn.00404364
mov dword [ebx + 0x184], 0x80010001
mov eax, dword [0x46632c]
mov eax, dword [eax]
cmp dword [eax + 0xc], 1
jne 0x45e26d
mov eax, dword [0x46632c]
mov eax, dword [eax]
mov edx, dword [ebx + 0x18c]
call fcn.00461f18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45e29a
lea eax, [ebp - 0x290]
mov edx, 0x1e
call fcn.0040407c
lea eax, [ebp - 4]
call fcn.00404058
ret