Function at 0x48b816
Capabilities:
Check for software breakpoints
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x4dd52c]
mov ecx, dword [ebp + 0x14]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
xor ebx, ebx
lea esi, [edi + 0xbc10]
test byte [esi], 1
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x11c], ebx
jne 0x48b857
lea esi, [edi + 0x20]
cmp byte [eax], 0x1b
jne 0x48ba4c
cmp byte [eax + 1], 0xf0
jne 0x48ba4c
cmp byte [eax + 2], 0x10
jne 0x48ba4c
mov cl, byte [eax + 3]
cmp cl, 0xaa
mov esi, dword [ebp + 0x10]
jne 0x48b8d6
test byte [edi + 0x10], 2
je 0x48b8ad
cmp word [edi + 0x976a], 1
jne 0x48b8ad
push edi
call fcn.0048b4a8
mov edx, dword [ebp - 0x114]
mov eax, dword [edi + 0x3ea8]
mov ecx, dword [edi + 0x8964]
mov dl, byte [edx + 4]
mov byte [eax + ecx], dl
mov edx, dword [edi + 0x3eb0]
lea eax, [edi + 0x3ea8]
mov ecx, dword [eax]
mov dword [edi + ecx*8 + 0x3eb8], edx
mov edx, dword [edi + 0x3eb4]
mov dword [edi + ecx*8 + 0x3ebc], edx
inc dword [eax]
jmp 0x48ba3c
cmp cl, 0xff
jne 0x48b900
mov ecx, dword [edi + 0x3eb0]
mov eax, dword [edi + 0x3ea8]
mov dword [edi + eax*8 + 0x3eb8], ecx
mov ecx, dword [edi + 0x3eb4]
mov dword [edi + eax*8 + 0x3ebc], ecx
jmp 0x48ba3c
cmp cl, bl
jne 0x48b924
cmp word [edi + 0x976a], 1
jne 0x48ba3c
push esi
push dword [ebp - 0x114]
push edi
call fcn.00487948
jmp 0x48ba3c
cmp cl, 0xee
jne 0x48b93f
mov eax, dword [ebp - 0x114]
push esi
add eax, 4
push eax
push edi
call fcn.00488ff7
jmp 0x48ba3c
cmp cl, 0xbb
jne 0x48b980
cmp word [edi + 0x976a], 1
jne 0x48b96b
mov eax, dword [edi + 0x3eb0]
mov dword [edi + 0x89d0], eax
mov eax, dword [edi + 0x3eb4]
mov dword [edi + 0x89d4], eax
jmp 0x48ba3c
mov eax, dword [eax + 4]
cdq
mov dword [edi + 0x89d0], eax
mov dword [edi + 0x89d4], edx
jmp 0x48ba3c
cmp cl, 0xcc
jne 0x48b9a2
mov eax, dword [edi + 0x3eb0]
mov dword [edi + 0x8158], eax
mov eax, dword [edi + 0x3eb4]
mov dword [edi + 0x815c], eax
jmp 0x48ba3c
cmp cl, 0xdd
jne 0x48b9bc
mov eax, dword [eax + 4]
cdq
mov dword [edi + 0x8158], eax
mov dword [edi + 0x815c], edx
jmp 0x48ba3c
cmp cl, 0xc9
jne 0x48b9db
mov eax, dword [edi + 0x3eb0]
mov dword [edi + 0x8160], eax
mov eax, dword [edi + 0x3eb4]
mov dword [edi + 0x8164], eax
jmp 0x48ba3c
cmp cl, 0xd9
jne 0x48b9f2
mov eax, dword [eax + 4]
cdq
mov dword [edi + 0x8160], eax
mov dword [edi + 0x8164], edx
jmp 0x48ba3c
cmp cl, 0xe9
jne 0x48ba2d
cmp word [edi + 0x976a], 1
jne 0x48ba1b
mov eax, dword [edi + 0x3eb0]
mov dword [edi + 0x89d8], eax
mov eax, dword [edi + 0x3eb4]
mov dword [edi + 0x89dc], eax
jmp 0x48ba3c
mov eax, dword [eax + 4]
cdq
mov dword [edi + 0x89d8], eax
mov dword [edi + 0x89dc], edx
jmp 0x48ba3c
cmp cl, 0x99
jne 0x48ba3c
mov dword [edi + 0x8168], 1
mov eax, dword [ebp - 0x118]
mov dword [eax], esi
xor eax, eax
inc eax
jmp 0x48bb54
cmp dword [esi + 0x8128], 0xffffffff
je 0x48bb52
cmp dword [ebp + 0x10], 0x13
jne 0x48c27b
push 0x13
push 0x40e958
push dword [ebp - 0x114]
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x48c2f6
cmp word [edi + 0x8f54], 1
jne 0x48c252
cmp dword [edi + 0x1f7a0], 1
mov dword [ebp - 0x128], ebx
jne 0x48bad8
push 0x413510
push dword [edi + 0xb1e0]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x413504
push dword [edi + 0xb1e0]
mov dword [ebp - 0x120], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [ebp - 0x120], ebx
mov dword [ebp - 0x124], eax
je 0x48bb52
cmp eax, ebx
je 0x48bb52
push 0xad
push edi
call fcn.004a5597
cmp eax, 1
jne 0x48bfb4
mov eax, dword [0x4e22f4]
cmp eax, 1
jne 0x48bd4c
push ebx
push ebx
push 0x104
lea eax, [ebp - 0x110]
push eax
push 0xffffffffffffffff
lea eax, [edi + 0x8d4c]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp dword [edi + 0x1f7a0], 1
lea eax, [ebp - 0x110]
push eax
jne 0x48bb63
call dword [ebp - 0x120]
push eax
push ebx
mov dword [ebp - 0x12c], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, ebx
mov dword [ebp - 0x11c], eax
je 0x48bb52
push eax
call dword [ebp - 0x124]
test eax, eax
jne 0x48bba0
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.004a9585
leave
ret 0x10
call fcn.00485ebb
push eax
push ebx
mov dword [ebp - 0x12c], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, ebx
mov dword [ebp - 0x11c], eax
je 0x48bb52
push dword [ebp - 0x12c]
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x11c]
call fcn.00485e11
test eax, eax
je 0x48c091
cmp dword [edi + 0x1f794], 1
jne 0x48bbb3
mov dword [ebp - 0x128], 0x1c
cmp word [edi + 0x976a], 1
jne 0x48c20e
push edi
call fcn.00480b1b
push 5
push edi
call fcn.004a5597
cmp eax, 1
jne 0x48bbe0
mov dword [ebp - 0x114], 0x412320
jmp 0x48bc01
push 6
push edi
call fcn.004a5597
cmp eax, 1
mov dword [ebp - 0x114], 0x412308
je 0x48bc01
mov dword [ebp - 0x114], 0x4122f0
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
push dword [ebp - 0x118]
lea eax, [ebp - 0xc]
push 1
push eax
push dword [esi + 0x8128]
mov byte [ebp - 0xc], 0xc2
call edi
add dword [esi + 0x3e90], 1
mov eax, dword [ebp - 0x114]
lea ecx, [eax + 1]
adc dword [esi + 0x3e94], ebx
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x48bc36
sub eax, ecx
sub eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x12c]
lea eax, [eax + ecx + 3]
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], ebx
mov ecx, dword [ebp - 0x120]
add dword [ebp - 0x120], 8
mov edx, eax
shr edx, cl
mov ecx, dword [ebp - 0x124]
inc dword [ebp - 0x124]
cmp dword [ebp - 0x120], 0x20
mov byte [ebp + ecx - 0xc], dl
jl 0x48bc5b
push ebx
push dword [ebp - 0x118]
lea eax, [ebp - 0xc]
push 8
push eax
push dword [esi + 0x8128]
mov byte [ebp - 8], 0xf8
mov byte [ebp - 7], 0x8c
mov byte [ebp - 6], 0x5c
mov byte [ebp - 5], 0xfa
call edi
add dword [esi + 0x3e90], 8
push ebx
push dword [ebp - 0x118]
adc dword [esi + 0x3e94], ebx
push 4
lea eax, [ebp - 0xc]
push eax
push dword [esi + 0x8128]
call edi
add dword [esi + 0x3e90], 4
push ebx
push dword [ebp - 0x118]
adc dword [esi + 0x3e94], ebx
push 2
lea eax, [ebp - 0xc]
push eax
push dword [esi + 0x8128]
mov byte [ebp - 0xc], 0x29
mov byte [ebp - 0xb], 0x20
call edi
mov eax, dword [ebp - 0x114]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x48bcff
push ebx
push dword [ebp - 0x118]
sub eax, ecx
push eax
push dword [ebp - 0x114]
push dword [esi + 0x8128]
call edi
push ebx
push dword [ebp - 0x118]
lea eax, [ebp - 0xc]
push 1
push eax
push dword [esi + 0x8128]
mov byte [ebp - 0xc], 0xa
call edi
mov eax, dword [ebp - 0x114]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x48bd40
jmp 0x48bf9e
cmp eax, 2
jne 0x48c252
push ebx
push ebx
push 0x104
lea eax, [ebp - 0x110]
push eax
push 0xffffffffffffffff
lea eax, [edi + 0xa709]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp dword [edi + 0x1f7a0], 1
lea eax, [ebp - 0x110]
push eax
jne 0x48bdb6
call dword [ebp - 0x120]
push eax
push ebx
mov dword [ebp - 0x12c], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, ebx
mov dword [ebp - 0x11c], eax
je 0x48bb52
push eax
call dword [ebp - 0x124]
test eax, eax
jne 0x48bdf7
jmp 0x48bb52
call fcn.00485ebb
push eax
push ebx
mov dword [ebp - 0x12c], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, ebx
mov dword [ebp - 0x11c], eax
je 0x48bb52
push dword [ebp - 0x12c]
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x11c]
call fcn.00485e11
test eax, eax
je 0x48c091
cmp dword [edi + 0x1f794], 1
jne 0x48be0a
mov dword [ebp - 0x128], 0x1c
cmp word [edi + 0x976a], 1
jne 0x48c20e
push edi
call fcn.00480b1b
push 5
push edi
call fcn.004a5597
cmp eax, 1
jne 0x48be37
mov dword [ebp - 0x114], 0x412320
jmp 0x48be58
push 6
push edi
call fcn.004a5597
cmp eax, 1
mov dword [ebp - 0x114], 0x412308
je 0x48be58
mov dword [ebp - 0x114], 0x4122f0
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
push dword [ebp - 0x118]
lea eax, [ebp - 0xc]
push 1
push eax
push dword [esi + 0x8128]
mov byte [ebp - 0xc], 0xc2
call edi
add dword [esi + 0x3e90], 1
mov eax, dword [ebp - 0x114]
lea ecx, [eax + 1]
adc dword [esi + 0x3e94], ebx
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x48be8d
sub eax, ecx
sub eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x12c]
lea eax, [eax + ecx + 3]
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], ebx
mov ecx, dword [ebp - 0x120]
add dword [ebp - 0x120], 8
mov edx, eax
shr edx, cl
mov ecx, dword [ebp - 0x124]
inc dword [ebp - 0x124]
cmp dword [ebp - 0x120], 0x20
mov byte [ebp + ecx - 0xc], dl
jl 0x48beb2
push ebx
push dword [ebp - 0x118]
lea eax, [ebp - 0xc]
push 8
push eax
push dword [esi + 0x8128]
mov byte [ebp - 8], 0xf8
mov byte [ebp - 7], 0x8c
mov byte [ebp - 6], 0x5c
mov byte [ebp - 5], 0xfa
call edi
add dword [esi + 0x3e90], 8
push ebx
push dword [ebp - 0x118]
adc dword [esi + 0x3e94], ebx
push 4
lea eax, [ebp - 0xc]
push eax
push dword [esi + 0x8128]
call edi
add dword [esi + 0x3e90], 4
push ebx
push dword [ebp - 0x118]
adc dword [esi + 0x3e94], ebx
push 2
lea eax, [ebp - 0xc]
push eax
push dword [esi + 0x8128]
mov byte [ebp - 0xc], 0x29
mov byte [ebp - 0xb], 0x20
call edi
mov eax, dword [ebp - 0x114]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x48bf56
push ebx
push dword [ebp - 0x118]
sub eax, ecx
push eax
push dword [ebp - 0x114]
push dword [esi + 0x8128]
call edi
push ebx
push dword [ebp - 0x118]
lea eax, [ebp - 0xc]
push 1
push eax
push dword [esi + 0x8128]
mov byte [ebp - 0xc], 0xa
call edi
mov eax, dword [ebp - 0x114]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x48bf97
sub eax, ecx
add eax, 3
add dword [esi + 0x3e90], eax
adc dword [esi + 0x3e94], ebx
jmp 0x48c214
push ebx
push ebx
push 0x104
lea eax, [ebp - 0x110]
push eax
push 0xffffffffffffffff
lea eax, [edi + 0x8d4c]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp dword [edi + 0x1f7a0], 1
lea eax, [ebp - 0x110]
push eax
jne 0x48c054
call dword [ebp - 0x120]
push eax
push ebx
mov dword [ebp - 0x12c], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, ebx
mov dword [ebp - 0x11c], eax
je 0x48bb52
push eax
call dword [ebp - 0x124]
test eax, eax
je 0x48bb52
cmp dword [edi + 0x1f794], 1
jne 0x48c027
mov dword [ebp - 0x128], 0x1c
cmp word [edi + 0x976a], 1
jne 0x48c20e
push edi
call fcn.00480b1b
push 5
push edi
call fcn.004a5597
cmp eax, 1
jne 0x48c0a2
mov dword [ebp - 0x114], 0x412320
jmp 0x48c0c3
call fcn.00485ebb
push eax
push ebx
mov dword [ebp - 0x12c], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, ebx
mov dword [ebp - 0x11c], eax
je 0x48bb52
push dword [ebp - 0x12c]
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x11c]
call fcn.00485e11
test eax, eax
jne 0x48c014
push dword [ebp - 0x11c]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x48bb52
push 6
push edi
call fcn.004a5597
cmp eax, 1
mov dword [ebp - 0x114], 0x412308
je 0x48c0c3
mov dword [ebp - 0x114], 0x4122f0
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
push dword [ebp - 0x118]
lea eax, [ebp - 0xc]
push 1
push eax
push dword [esi + 0x8128]
mov byte [ebp - 0xc], 0xc2
call edi
add dword [esi + 0x3e90], 1
mov eax, dword [ebp - 0x114]
lea ecx, [eax + 1]
adc dword [esi + 0x3e94], ebx
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x48c0f8
sub eax, ecx
sub eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x12c]
lea eax, [eax + ecx + 3]
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x120], ebx
mov ecx, dword [ebp - 0x120]
add dword [ebp - 0x120], 8
mov edx, eax
shr edx, cl
mov ecx, dword [ebp - 0x124]
inc dword [ebp - 0x124]
cmp dword [ebp - 0x120], 0x20
mov byte [ebp + ecx - 0xc], dl
jl 0x48c11d
push ebx
push dword [ebp - 0x118]
lea eax, [ebp - 0xc]
push 8
push eax
push dword [esi + 0x8128]
mov byte [ebp - 8], 0xf8
mov byte [ebp - 7], 0x8c
mov byte [ebp - 6], 0x5c
mov byte [ebp - 5], 0xfa
call edi
add dword [esi + 0x3e90], 8
push ebx
push dword [ebp - 0x118]
adc dword [esi + 0x3e94], ebx
push 4
lea eax, [ebp - 0xc]
push eax
push dword [esi + 0x8128]
call edi
add dword [esi + 0x3e90], 4
push ebx
push dword [ebp - 0x118]
adc dword [esi + 0x3e94], ebx
push 2
lea eax, [ebp - 0xc]
push eax
push dword [esi + 0x8128]
mov byte [ebp - 0xc], 0x29
mov byte [ebp - 0xb], 0x20
call edi
mov eax, dword [ebp - 0x114]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x48c1c1
push ebx
push dword [ebp - 0x118]
sub eax, ecx
push eax
push dword [ebp - 0x114]
push dword [esi + 0x8128]
call edi
push ebx
push dword [ebp - 0x118]
lea eax, [ebp - 0xc]
push 1
push eax
push dword [esi + 0x8128]
mov byte [ebp - 0xc], 0xa
call edi
mov eax, dword [ebp - 0x114]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x48c202
jmp 0x48bf9e
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x12c]
push ebx
push dword [ebp - 0x118]
sub eax, ecx
push eax
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x11c]
add ecx, eax
push ecx
push dword [esi + 0x8128]
call edi
mov eax, dword [ebp - 0x128]
add esi, 0x3e90
add dword [esi], eax
adc dword [esi + 4], ebx
cmp dword [ebp - 0x11c], ebx
mov eax, dword [ebp - 0x118]
mov dword [eax], 0x13
je 0x48ba44
push dword [ebp - 0x11c]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x48ba44
cmp dword [ebp + 0x10], 0x15
jne 0x48c2b9
push 0x15
push 0x408a64
push dword [ebp - 0x114]
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x48c2f6
cmp word [edi + 0x8fba], bx
jne 0x48ba44
mov eax, dword [ebp - 0x118]
mov dword [eax], 0x15
jmp 0x48ba44
cmp dword [ebp + 0x10], 0x10
jne 0x48c2f6
push 0x10
push 0x412db8
push dword [ebp - 0x114]
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x48c2f6
cmp dword [edi + 0x90a2], ebx
jne 0x48ba44
mov eax, dword [ebp - 0x118]
mov dword [eax], 0x10
jmp 0x48ba44
push 0x16
push 0x40c6c4
push dword [ebp - 0x114]
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x48c324
mov eax, dword [ebp - 0x114]
push ebx
push ebx
push ebx
push ebx
push 0x10025
push dword [eax + 0x16]
jmp 0x48c37e
push 0x13
push 0x40c6dc
push dword [ebp - 0x114]
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x48c352
mov eax, dword [ebp - 0x114]
push ebx
push ebx
push ebx
push ebx
push 0x10015
push dword [eax + 0x13]
jmp 0x48c37e
push 0xe
push 0x40c6b4
push dword [ebp - 0x114]
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
push ebx
jne 0x48c394
mov eax, dword [ebp - 0x114]
push ebx
push ebx
push ebx
push 0x10016
push dword [eax + 0xe]
call dword [sym.imp.GDI32.dll_ExtEscape]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
jmp 0x48ba44
push dword [ebp - 0x118]
push dword [ebp + 0x10]
push dword [ebp - 0x114]
push dword [esi + 0x8128]
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
call fcn.0048b57c
cmp eax, 1
jne 0x48c3e9
cmp word [edi + 0x976a], ax
push dword [ebp - 0x118]
push dword [ebp + 0x10]
push dword [ebp - 0x114]
jne 0x48c3e3
push dword [edi + 4]
add edi, 0x1f778
push edi
call fcn.00480a26
jmp 0x48c3e9
push edi
call fcn.00498d71
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x118]
add esi, 0x3e90
mov dword [ecx], eax
add dword [esi], eax
adc dword [esi + 4], ebx
jmp 0x48ba44