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

Disassembly:
push 0xffffffffffffffff
push 0x608381
mov eax, dword fs:[0]
push eax
sub esp, 0x880
mov eax, dword [0x6aae14]
xor eax, esp
mov dword [esp + 0x87c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6aae14]
xor eax, esp
push eax
lea eax, [esp + 0x894]
mov dword fs:[0], eax
mov edi, dword [esp + 0x8a4]
mov ebp, dword [esp + 0x8a8]
xor ebx, ebx
mov eax, 0xf
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
mov dword [esp + 0x89c], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
mov byte [esp + 0x89c], 2
cmp edi, ebx
je 0x4c9d69
mov byte [edi], bl
cmp ebp, ebx
je 0x4c9d70
mov byte [ebp], bl
push ebx
push 0x60c81c
lea ecx, [esp + 0x5c]
call fcn.004016b0
push ebx
push 0x60c81c
lea ecx, [esp + 0x24]
call fcn.004016b0
push ebx
push 0x60c81c
lea ecx, [esp + 0x40]
call fcn.004016b0
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x5c]
push edx
call fcn.004c9910
mov esi, dword [esp + 0x64]
add esp, 0xc
cmp dword [esp + 0x6c], 0x10
jae 0x4c9dc3
lea esi, [esp + 0x58]
cmp byte [esi], bl
je 0x4c9f8b
push 0x103
lea eax, [esp + 0x75]
push ebx
push eax
mov byte [esp + 0x7c], bl
call fcn.005dfd60
push 0x103
lea ecx, [esp + 0x491]
push ebx
push ecx
mov byte [esp + 0x498], bl
call fcn.005dfd60
push 0x103
lea edx, [esp + 0x6a5]
push ebx
push edx
mov byte [esp + 0x6ac], bl
call fcn.005dfd60
lea eax, [esp + 0x6ac]
push eax
push 0x6438a8
lea ecx, [esp + 0x4ac]
push ecx
lea edx, [esp + 0xa0]
push edx
call fcn.004c5e40
add esp, 0x34
cmp byte [esp + 0x70], bl
je 0x4c9f0c
push ebx
lea eax, [esp + 0x74]
push eax
push esi
call fcn.004f5880
add esp, 0xc
cmp eax, 0xffffffff
je 0x4c9eb0
cmp edi, ebx
jne 0x4c9f5a
push esi
push str.OutString:__s_n
call fcn.005e0e7f
mov ecx, dword [esp + 0x44]
mov eax, 0x10
add esp, 8
cmp dword [esp + 0x50], eax
jae 0x4c9e7f
lea ecx, [esp + 0x3c]
cmp dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
jae 0x4c9e8d
lea eax, [esp + 0x20]
lea edx, [esp + 0x70]
push edx
push ecx
push eax
push str._s___s__PPK:_s__n
call fcn.005e0e7f
push 0x642648
call fcn.005e0e7f
add esp, 0x14
jmp 0x4c9f8b
cmp edi, ebx
jne 0x4c9ef0
push esi
push str.OutString:__s_n
call fcn.005e0e7f
mov eax, dword [esp + 0x28]
add esp, 8
cmp dword [esp + 0x34], 0x10
jae 0x4c9ed1
lea eax, [esp + 0x20]
lea ecx, [esp + 0x70]
push ecx
push eax
push str._s__MAK_PPK:__s__n
call fcn.005e0e7f
push 0x642648
call fcn.005e0e7f
jmp 0x4c9f88
cmp dword [esp + 0x34], 0x10
mov eax, dword [esp + 0x20]
jae 0x4c9eff
lea eax, [esp + 0x20]
lea edx, [esp + 0x70]
push edx
push eax
push str._sBBBBB_BBBBB_BBBBB_BBBBB__s
jmp 0x4c9f82
cmp edi, ebx
jne 0x4c9f5a
push esi
push str.OutString:__s_n
call fcn.005e0e7f
mov ecx, dword [esp + 0x44]
mov edi, 0x10
add esp, 8
cmp dword [esp + 0x50], edi
jae 0x4c9f31
lea ecx, [esp + 0x3c]
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x34], edi
jae 0x4c9f3f
lea eax, [esp + 0x20]
push ecx
push eax
push str._s___s__PPK:NULL__n
call fcn.005e0e7f
push 0x642648
call fcn.005e0e7f
add esp, 0x10
jmp 0x4c9f90
mov ecx, dword [esp + 0x3c]
mov eax, 0x10
cmp dword [esp + 0x50], eax
jae 0x4c9f6d
lea ecx, [esp + 0x3c]
cmp dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
jae 0x4c9f7b
lea eax, [esp + 0x20]
push ecx
push eax
push 0x61c9ec
push edi
call fcn.005dfb23
add esp, 0x10
mov edi, 0x10
push ebx
push 0x60c81c
lea ecx, [esp + 0x5c]
call fcn.004016b0
push ebx
push 0x60c81c
lea ecx, [esp + 0x24]
call fcn.004016b0
push ebx
push 0x60c81c
lea ecx, [esp + 0x40]
call fcn.004016b0
cmp dword [0x748e14], ebx
je 0x4c9fd2
push str.Calling_FindOfficeKey__..._n
call fcn.005e0e7f
add esp, 4
mov eax, dword [esp + 0x8ac]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x60]
push eax
call fcn.004c87e0
add esp, 0x10
cmp dword [0x748e14], ebx
je 0x4ca024
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x50], edi
jae 0x4ca007
lea ecx, [esp + 0x3c]
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x34], edi
jae 0x4ca015
lea eax, [esp + 0x20]
push ecx
push eax
push str.FindOfficeKey_returns_NS:_s__KS:_s__n
call fcn.005e0e7f
add esp, 0xc
mov esi, dword [esp + 0x58]
cmp dword [esp + 0x6c], edi
jae 0x4ca032
lea esi, [esp + 0x58]
cmp byte [esi], bl
je 0x4ca4fd
push 0x103
lea ecx, [esp + 0x179]
push ebx
push ecx
mov byte [esp + 0x180], bl
call fcn.005dfd60
push 0x103
lea edx, [esp + 0x699]
push ebx
push edx
mov byte [esp + 0x6a0], bl
call fcn.005dfd60
push 0x103
lea eax, [esp + 0x8d]
push ebx
push eax
mov byte [esp + 0x94], bl
call fcn.005dfd60
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x6b0]
push edx
lea eax, [esp + 0x1a0]
push eax
call fcn.004c6280
add esp, 0x30
cmp ebp, ebx
jne 0x4ca0d1
push esi
push str.OutString:__s_n
call fcn.005e0e7f
lea ecx, [esp + 0x17c]
push ecx
lea edx, [esp + 0x7c]
push edx
push str._OffKey1___s__PPK:_s_n
call fcn.005e0e7f
add esp, 0x14
cmp byte [esp + 0x174], bl
jne 0x4ca120
lea eax, [esp + 0x70]
push eax
push 0x61ce00
lea ecx, [esp + 0x690]
push ecx
lea edx, [esp + 0x180]
push edx
call fcn.004c5e40
add esp, 0x10
cmp ebp, ebx
jne 0x4ca257
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x74]
push ecx
push str._OffKey2___s__PPK:_s_n
call fcn.005e0e7f
add esp, 0xc
jmp 0x4ca128
cmp ebp, ebx
jne 0x4ca257
push 0x103
lea edx, [esp + 0x381]
push ebx
push edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x388], bl
call fcn.005dfd60
push 0x103
lea eax, [esp + 0x289]
push ebx
push eax
mov byte [esp + 0x290], bl
call fcn.005dfd60
mov eax, dword [esp + 0x38]
add esp, 0x18
cmp dword [esp + 0x34], edi
jae 0x4ca175
lea eax, [esp + 0x20]
push 1
push ebx
push 0x7c
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x38c]
push edx
push eax
call fcn.004e1380
mov eax, dword [esp + 0x54]
add esp, 0x18
cmp dword [esp + 0x50], edi
jae 0x4ca19e
lea eax, [esp + 0x3c]
push 1
push ebx
push 0x7c
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x288]
push edx
push eax
call fcn.004e1380
or esi, 0xffffffff
add esp, 0x18
cmp dword [esp + 0x14], esi
je 0x4ca245
jmp 0x4ca1d0
lea eax, [esp + 0x278]
push eax
lea ecx, [esp + 0x380]
push ecx
push str._OffKey_Array___s:_s_n
call fcn.005e0e7f
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp dword [esp + 0x34], edi
jae 0x4ca1fb
lea eax, [esp + 0x20]
push 1
push ebx
push 0x7c
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x38c]
push ecx
push eax
call fcn.004e1380
mov eax, dword [esp + 0x54]
add esp, 0x18
cmp dword [esp + 0x50], edi
jae 0x4ca224
lea eax, [esp + 0x3c]
push 1
push ebx
push 0x7c
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x288]
push ecx
push eax
call fcn.004e1380
add esp, 0x18
cmp dword [esp + 0x14], esi
jne 0x4ca1d0
push 0x642648
call fcn.005e0e7f
add esp, 4
jmp 0x4ca4fd
push 0x103
lea edx, [esp + 0x589]
push ebx
push edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x590], bl
call fcn.005dfd60
push 0x103
lea eax, [esp + 0x289]
push ebx
push eax
mov byte [esp + 0x290], bl
call fcn.005dfd60
push 0x103
lea ecx, [esp + 0x49d]
push ebx
push ecx
mov byte [esp + 0x4a4], bl
call fcn.005dfd60
push 0x103
lea edx, [esp + 0x7b5]
push ebx
push edx
mov byte [esp + 0x7bc], bl
call fcn.005dfd60
push 0x103
lea eax, [esp + 0x3b1]
push ebx
push eax
mov byte [esp + 0x3b8], bl
call fcn.005dfd60
mov eax, dword [esp + 0x5c]
add esp, 0x3c
cmp dword [esp + 0x34], edi
jae 0x4ca2f2
lea eax, [esp + 0x20]
push 1
push ebx
push 0x7c
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x594]
push edx
push eax
call fcn.004e1380
mov eax, dword [esp + 0x54]
add esp, 0x18
cmp dword [esp + 0x50], edi
jae 0x4ca31b
lea eax, [esp + 0x3c]
push 1
push ebx
push 0x7c
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x288]
push edx
push eax
call fcn.004e1380
or esi, 0xffffffff
add esp, 0x18
cmp dword [esp + 0x14], esi
je 0x4ca3a3
nop
cmp byte [esp + 0x174], bl
je 0x4ca3e0
push ebx
lea eax, [esp + 0x178]
push eax
lea ecx, [esp + 0x280]
push ecx
call fcn.004f5880
add esp, 0xc
cmp eax, esi
je 0x4ca404
xor eax, eax
mov cl, byte [esp + eax + 0x584]
mov byte [esp + eax + 0x480], cl
inc eax
cmp cl, bl
jne 0x4ca370
xor eax, eax
jmp 0x4ca390
mov cl, byte [esp + eax + 0x278]
mov byte [esp + eax + 0x78c], cl
inc eax
cmp cl, bl
jne 0x4ca390
cmp byte [esp + 0x480], bl
je 0x4ca484
cmp byte [esp + 0x78c], bl
je 0x4ca484
lea eax, [esp + 0x78c]
push eax
lea ecx, [esp + 0x484]
push ecx
push 0x61c9ec
push ebp
call fcn.005dfb23
add esp, 0x10
jmp 0x4ca4fd
push 1
push 0x7c
lea edx, [esp + 0x58c]
push edx
push ebp
call fcn.004e56c0
push 1
push 0x7c
lea eax, [esp + 0x280]
push eax
push ebp
call fcn.004e56c0
cmp byte [esp + 0x37c], bl
jne 0x4ca423
xor eax, eax
nop
mov cl, byte [esp + eax + 0x584]
mov byte [esp + eax + 0x37c], cl
inc eax
cmp cl, bl
jne 0x4ca410
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x34], edi
jae 0x4ca431
lea eax, [esp + 0x20]
push 1
push ebx
push 0x7c
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x594]
push edx
push eax
call fcn.004e1380
mov eax, dword [esp + 0x54]
add esp, 0x18
cmp dword [esp + 0x50], edi
jae 0x4ca45a
lea eax, [esp + 0x3c]
push 1
push ebx
push 0x7c
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x288]
push edx
push eax
call fcn.004e1380
add esp, 0x18
cmp dword [esp + 0x14], esi
jne 0x4ca340
jmp 0x4ca3a3
cmp byte [esp + 0x174], bl
je 0x4ca4fd
cmp byte [esp + 0x37c], bl
je 0x4ca4ba
lea edx, [esp + 0x174]
push edx
lea eax, [esp + 0x380]
push eax
push str._sBBBBB_BBBBB_BBBBB_BBBBB__s
push ebp
call fcn.005dfb23
add esp, 0x10
jmp 0x4ca4fd
cmp byte [esp + 0x70], bl
je 0x4ca4e7
lea ecx, [esp + 0x70]
push ecx
call fcn.004c43a0
lea edx, [esp + 0x178]
push edx
lea eax, [esp + 0x78]
push eax
push str._sBBBBB_BBBBB_BBBBB_BBBBB__s
push ebp
call fcn.005dfb23
add esp, 0x14
jmp 0x4ca4fd
lea ecx, [esp + 0x174]
push ecx
push str.UNKNOWNBBBBB_BBBBB_BBBBB_BBBBB__s
push ebp
call fcn.005dfb23
add esp, 0xc
cmp dword [esp + 0x50], edi
jb 0x4ca510
mov edx, dword [esp + 0x3c]
push edx
call fcn.005e0d9a
add esp, 4
mov esi, 0xf
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x34], edi
jb 0x4ca534
mov eax, dword [esp + 0x20]
push eax
call fcn.005e0d9a
add esp, 4
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], edi
jb 0x4ca553
mov ecx, dword [esp + 0x58]
push ecx
call fcn.005e0d9a
add esp, 4
mov ecx, dword [esp + 0x894]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x87c]
xor ecx, esp
call fcn.005dfbbe
add esp, 0x88c
ret