Function at 0x4c3b40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6030d8
mov eax, dword fs:[0]
push eax
sub esp, 0xab0
mov eax, dword [0x767500]
xor eax, esp
mov dword [esp + 0xaa8], eax
push ebx
push esi
push edi
mov eax, dword [0x767500]
xor eax, esp
push eax
lea eax, [esp + 0xac0]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi]
xor ebx, ebx
mov dword [esp + 0x10], esi
cmp ecx, ebx
jne 0x4c3b95
xor eax, eax
jmp 0x4c42bc
lea eax, [esp + 0x7b4]
push eax
push 1
push 0x6109fc
mov dword [esp + 0x24], 1
call fcn.004d4fd0
test eax, eax
je 0x4c42b7
lea ecx, [esp + 0x464]
push 0x1ec
push ecx
call fcn.00500830
mov ecx, dword [esi]
add esp, 8
lea edx, [esp + 0x6b4]
push edx
push ebx
lea eax, [esp + 0x7bc]
push eax
call fcn.004d4620
test eax, eax
jne 0x4c3c0c
mov edx, dword [esi]
lea ecx, [esp + 0x7b4]
push ecx
push 0x610a08
push 0x610a14
push edx
call fcn.004d4290
add esp, 0x10
jmp 0x4c4291
mov ecx, str.oneshot
lea eax, [esp + 0x6b4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c3c38
cmp dl, bl
je 0x4c3c34
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c3c38
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4c3c18
xor eax, eax
jmp 0x4c3c3d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4c3c7d
mov ecx, 0x610a3c
lea eax, [esp + 0x6b4]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c3c70
cmp dl, bl
je 0x4c3c6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c3c70
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4c3c50
xor eax, eax
jmp 0x4c3c75
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4c4279
lea eax, [esp + 0x9b4]
push eax
push 1
lea ecx, [esp + 0x7bc]
push ecx
mov ecx, dword [esi]
call fcn.004d4620
lea edx, [esp + 0x7b4]
test eax, eax
jne 0x4c3cbc
mov eax, dword [esi]
push edx
push 0x610a68
push 0x610a74
push eax
call fcn.004d4290
add esp, 0x10
jmp 0x4c4291
lea ecx, [esp + 0x464]
push ecx
mov ecx, dword [esi]
push 2
push edx
call fcn.004d4620
test eax, eax
jne 0x4c3cf4
mov ecx, dword [esi]
lea eax, [esp + 0x7b4]
push eax
push str.SUBCOMMAND
push 0x610aa0
push ecx
call fcn.004d4290
add esp, 0x10
jmp 0x4c4291
xor eax, eax
jmp 0x4c3d00
mov cl, byte [esp + eax + 0x464]
mov byte [esp + eax + 0x694], cl
inc eax
cmp cl, bl
jne 0x4c3d00
mov ecx, dword [0x7d0628]
push 0x610ac0
lea edx, [esp + 0x698]
push edx
lea eax, [esp + 0x46c]
push eax
call fcn.00506d60
lea ecx, [esp + 0x6b4]
push ecx
mov ecx, dword [esi]
push 3
lea edx, [esp + 0x7bc]
push edx
mov dword [esp + 0x20], 3
call fcn.004d4620
test eax, eax
je 0x4c3ecf
lea edi, [esp + 0x4cc]
lea eax, [esp + 0x674]
sub edi, eax
lea esp, [esp]
mov ecx, 0x610ac4
lea eax, [esp + 0x6b4]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c3da0
cmp dl, bl
je 0x4c3d9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c3da0
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4c3d80
xor eax, eax
jmp 0x4c3da5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4c3ebc
lea ecx, [esp + 0x674]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x658]
push edx
lea eax, [esp + 0x6bc]
push eax
call fcn.004bf9b0
test eax, eax
je 0x4c3e8a
xor esi, esi
cmp dword [0x6fcff0], 0x2d
je 0x4c3e3a
xor eax, eax
jmp 0x4c3df0
lea ecx, [esp + 0x654]
lea eax, [eax + 0x6fcff4]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c3e20
cmp dl, bl
je 0x4c3e1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c3e20
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4c3e00
xor eax, eax
jmp 0x4c3e25
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4c3e3a
inc esi
lea eax, [esi + esi*2]
add eax, eax
add eax, eax
cmp dword [eax + 0x6fcff0], 0x2d
jne 0x4c3df0
lea ecx, [esi + esi*2]
mov eax, dword [ecx*4 + 0x6fcff0]
cmp eax, 0x2d
jne 0x4c3e67
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x6b4]
push edx
push 0x610ac8
push ecx
call fcn.004d4290
add esp, 0xc
jmp 0x4c3e8a
mov edx, dword [esp + 0x14]
mov dword [esp + edx*4 + 0x480], eax
lea eax, [esp + 0x674]
lea esp, [esp]
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
cmp cl, bl
jne 0x4c3e80
mov eax, dword [esp + 0x14]
inc eax
lea ecx, [esp + 0x6b4]
push ecx
push eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x7bc]
push edx
add edi, 0x10
call fcn.004d4620
test eax, eax
jne 0x4c3d70
jmp 0x4c3ecf
mov eax, dword [esp + 0x14]
lea ecx, [eax - 3]
inc eax
mov dword [esp + 0x488], ecx
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
lea edx, [esp + 0x6b4]
push edx
push edi
lea eax, [esp + 0x7bc]
push eax
xor esi, esi
call fcn.004d4620
test eax, eax
je 0x4c4113
lea esp, [esp]
lea edx, [esp + 0x674]
push edx
lea eax, [esp + 0x658]
push eax
lea ecx, [esp + 0x6bc]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.004bf9b0
test eax, eax
je 0x4c40ed
cmp byte [esp + 0x654], bl
jne 0x4c3f60
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x67c]
push ecx
mov dword [esp + esi*4 + 0x5dc], ebx
call fcn.00500f90
mov edx, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x61c], edx
jmp 0x4c40ea
mov ecx, 0x610ae4
lea eax, [esp + 0x654]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c3f90
cmp dl, bl
je 0x4c3f8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c3f90
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4c3f70
xor eax, eax
jmp 0x4c3f95
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4c3fa9
mov dword [esp + esi*4 + 0x5d0], 0x2b
jmp 0x4c40ed
mov ecx, 0x610ae8
lea eax, [esp + 0x654]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c3fd5
cmp dl, bl
je 0x4c3fd1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c3fd5
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4c3fb5
xor eax, eax
jmp 0x4c3fda
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4c3fee
mov dword [esp + esi*4 + 0x5d0], 0x2a
jmp 0x4c40ed
mov ecx, 0x610aec
lea eax, [esp + 0x654]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c4020
cmp dl, bl
je 0x4c401c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c4020
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4c4000
xor eax, eax
jmp 0x4c4025
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4c4039
mov dword [esp + esi*4 + 0x5d0], 0x29
jmp 0x4c40ed
mov ecx, 0x610af0
lea eax, [esp + 0x654]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c4065
cmp dl, bl
je 0x4c4061
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c4065
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4c4045
xor eax, eax
jmp 0x4c406a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4c407b
mov dword [esp + esi*4 + 0x5d0], 0x2c
jmp 0x4c40ed
mov ecx, 0x610af4
lea eax, [esp + 0x654]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c40a7
cmp dl, bl
je 0x4c40a3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c40a7
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x4c4087
xor eax, eax
jmp 0x4c40ac
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4c40bd
mov dword [esp + esi*4 + 0x5d0], 0x25
jmp 0x4c40ed
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x65c]
push edx
mov dword [esp + esi*4 + 0x5dc], 0x2d
call fcn.00500f90
mov eax, dword [esp + 0x2c]
mov dword [esp + esi*4 + 0x61c], eax
add esp, 0xc
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x6b4]
push ecx
mov ecx, dword [eax]
inc edi
push edi
lea edx, [esp + 0x7bc]
push edx
inc esi
call fcn.004d4620
test eax, eax
jne 0x4c3f00
lea eax, [esp + 0x9b4]
mov dword [esp + 0x5cc], esi
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4c4134
sub eax, ecx
push eax
lea ecx, [esp + 0x9b8]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00402a80
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x60]
mov dword [esp + 0xad4], ebx
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
call fcn.00402920
mov ecx, 0x7b
lea esi, [esp + 0x464]
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x268]
mov byte [esp + 0xad4], 1
mov dword [esp + 0x280], 0xf
mov dword [esp + 0x27c], ebx
mov byte [esp + 0x26c], bl
call fcn.00402920
mov ecx, 0x7b
lea esi, [esp + 0x70]
lea edi, [esp + 0x278]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x25c]
push ecx
mov ecx, dword [eax + 0x5c]
lea edx, [esp + 0x4c]
push edx
mov byte [esp + 0xad0], 2
call fcn.004c5ea0
cmp dword [esp + 0x274], 0x10
jb 0x4c420b
mov ecx, dword [esp + 0x260]
push ecx
call fcn.0055d56e
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x274], esi
mov dword [esp + 0x270], ebx
mov byte [esp + 0x260], bl
cmp dword [esp + 0x6c], edi
jb 0x4c423d
mov edx, dword [esp + 0x58]
push edx
call fcn.0055d56e
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
mov dword [esp + 0xac8], 0xffffffff
cmp dword [esp + 0x3c], edi
jb 0x4c4267
mov eax, dword [esp + 0x28]
push eax
call fcn.0055d56e
add esp, 4
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
jmp 0x4c4291
mov edx, dword [esi]
lea ecx, [esp + 0x6b4]
push ecx
push 0x610a48
push edx
call fcn.004d4290
add esp, 0xc
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x7b4]
push ecx
mov ecx, dword [esi]
inc eax
push eax
push 0x6109fc
mov dword [esp + 0x24], eax
call fcn.004d4fd0
test eax, eax
jne 0x4c3bb9
mov eax, 1
mov ecx, dword [esp + 0xac0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xaa8]
xor ecx, esp
call fcn.0055d4e2
mov esp, ebp
pop ebp
ret