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

Disassembly:
sub esp, 0xc
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
mov eax, dword [ebx + 0x3b08]
mov ecx, dword [ebx]
mov dword [esp + 0x10], eax
mov eax, dword [0x75e25c]
xor esi, esi
xor ebp, ebp
push edi
mov edi, dword [ebx + 0x2a0]
cmp eax, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], ecx
jne 0x4a1cbc
cmp dword [0x75e260], esi
jne 0x4a1cbc
cmp dword [0x75e264], esi
jne 0x4a1cbc
mov eax, dword [0x75e0b4]
cmp eax, esi
je 0x4a1cbc
cmp dword [eax + 0x4a4c], esi
je 0x4a1cbc
push ebx
call fcn.00496420
add esp, 4
push ebx
call fcn.004a1ab0
add esp, 4
cmp eax, esi
je 0x4a1d02
mov edx, dword [0x7150f4]
push 0x40000
push esi
push edx
push 0xffffffffffffffff
push eax
call fcn.0042d900
mov eax, dword [0x7150f4]
push eax
call fcn.00526b7f
add esp, 0x18
mov dword [esp + 0x10], eax
cmp edi, esi
je 0x4a1dda
mov eax, 0x40
jmp 0x4a1de9
cmp dword [0x75e25c], 1
jne 0x4a1d7e
push 0x800
call fcn.004df770
add esp, 4
cmp eax, esi
mov dword [esp + 0x10], eax
je 0x4a1f8f
mov ecx, dword [0x75e258]
add ecx, 0x10160
cmp word [ecx], si
je 0x4a1d41
push ecx
push eax
call fcn.00526ae2
add esp, 8
jmp 0x4a1cf0
push str.Please_input_password:
call fcn.0047a1c0
push esi
call fcn.004413e0
mov edx, dword [esp + 0x18]
push 0x7013a8
push 0x80
push edx
call fcn.0047a1c0
push 1
call fcn.004413e0
push 0x690f50
call fcn.0047a1c0
add esp, 0x1c
jmp 0x4a1cf0
push str.Please_input_the_password:
push 0x1504
call fcn.00506990
lea ecx, [esp + 0x18]
lea edx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x24]
push edx
push esi
push esi
push ecx
push eax
push 6
call fcn.004e37a0
mov eax, dword [esp + 0x44]
add esp, 0x24
cmp eax, 2
jne 0x4a1cf0
mov edx, dword [esp + 0x10]
push edx
call fcn.004df7a0
add esp, 4
mov dword [esp + 0x10], esi
push ebp
call fcn.004df7a0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and al, 0x20
add eax, 0x100
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [0x7150f4]
push 1
push eax
push ecx
call fcn.0049ae90
add esp, 0x10
test eax, eax
je 0x4a1e65
cmp edi, esi
je 0x4a1ee6
cmp ebp, esi
jne 0x4a1e26
push 0x400
call fcn.004df770
mov ebp, eax
add esp, 4
cmp ebp, esi
je 0x4a1f8f
mov edx, dword [0x7150f4]
push edx
push edi
call fcn.004ed5b0
add esp, 8
test eax, eax
je 0x4a1e65
mov eax, dword [esp + 0x24]
push 0x80
add eax, 0x10
push ebp
push eax
push edi
call fcn.004ed7f0
push 0x80
push ebp
call fcn.004eb110
mov ecx, dword [esp + 0x3c]
add esp, 0x18
cmp dword [ecx + 0xc], eax
je 0x4a1ede
mov eax, dword [esp + 0x10]
push eax
call fcn.004df7a0
mov eax, dword [0x75e25c]
add esp, 4
cmp eax, 1
mov dword [esp + 0x10], esi
jne 0x4a1eaa
push 0xc
push str.Password_wrong__Do_you_want_to_try_again_
call fcn.0047a1c0
add esp, 8
cmp eax, 8
je 0x4a1f8f
mov ecx, dword [0x75e258]
mov word [ecx + 0x10160], si
jmp 0x4a1d02
lea edx, [esp + 0x20]
push esi
push edx
push esi
push esi
push esi
push esi
push 7
call fcn.004e37a0
mov eax, dword [esp + 0x3c]
add esp, 0x1c
cmp eax, 2
jne 0x4a1d02
push ebp
call fcn.004df7a0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
lea edx, [edi + 0x61b70]
jmp 0x4a1f00
mov edx, dword [esp + 0x14]
cmp edx, esi
je 0x4a1f23
add edx, 0x23c
mov ecx, 8
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov edi, dword [0x7150f4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [0x7150f4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebx + 0x78]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
mov dword [ebx + 0x74], 1
lea esi, [ebx + 0x180]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, esi
mov edx, ecx
mov esi, edi
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov esi, 1
push ecx
mov dword [ebx + 0x17c], esi
call fcn.004df7a0
add esp, 4
push ebp
call fcn.004df7a0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret