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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10147eb1
mov eax, dword fs:[0]
push eax
sub esp, 0x8a8
mov eax, dword [0x10189710]
xor eax, esp
mov dword [esp + 0x8a0], eax
push ebx
push esi
push edi
mov eax, dword [0x10189710]
xor eax, esp
push eax
lea eax, [esp + 0x8b8]
mov dword fs:[0], eax
xor ebx, ebx
mov esi, edx
mov eax, 0xf
mov edi, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ebx
mov byte [esp + 0x54], bl
mov dword [esp + 0x8c0], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
mov byte [esp + 0x8c0], 2
cmp dword [0x101b3d9c], ebx
je 0x100388a8
push str._WOFF__Inside_PLS_Proc...
push ebx
call fcn.1006ed90
add esp, 8
cmp edi, ebx
je 0x100388ae
mov byte [edi], bl
cmp esi, ebx
je 0x100388b4
mov byte [esi], bl
push ebx
push 0x1014d5e3
lea ecx, [esp + 0x58]
call fcn.10009b30
push ebx
push 0x1014d5e3
lea ecx, [esp + 0x20]
call fcn.10009b30
push ebx
push 0x1014d5e3
lea ecx, [esp + 0x3c]
call fcn.10009b30
lea eax, [esp + 0x50]
push eax
lea edx, [esp + 0x38]
lea ecx, [esp + 0x1c]
call fcn.1003b370
mov esi, dword [esp + 0x58]
add esp, 4
cmp dword [esp + 0x68], 0x10
jae 0x10038905
lea esi, [esp + 0x54]
cmp byte [esi], bl
je 0x10038ac4
push 0x103
lea ecx, [esp + 0x71]
push ebx
push ecx
mov byte [esp + 0x78], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea edx, [esp + 0x491]
push ebx
push edx
mov byte [esp + 0x498], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea eax, [esp + 0x599]
push ebx
push eax
mov byte [esp + 0x5a0], bl
call fcn.1012e060
add esp, 0xc
lea ecx, [esp + 0x594]
push ecx
lea edx, [esp + 0x490]
push edx
lea eax, [esp + 0x74]
push eax
mov ecx, str.Windows
call fcn.10037f60
add esp, 0xc
cmp byte [esp + 0x6c], bl
je 0x10038a42
push ebx
lea ecx, [esp + 0x70]
push ecx
push esi
call fcn.10063340
add esp, 0xc
cmp eax, 0xffffffff
je 0x100389f8
cmp edi, ebx
jne 0x10038a93
push esi
push str.OutString:__s_n
call fcn.10128a81
mov ecx, dword [esp + 0x40]
mov eax, 0x10
add esp, 8
cmp dword [esp + 0x4c], eax
jae 0x100389c7
lea ecx, [esp + 0x38]
cmp dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
jae 0x100389d5
lea eax, [esp + 0x1c]
lea edx, [esp + 0x6c]
push edx
push ecx
push eax
push str._s___s__PPK:_s__n
call fcn.10128a81
push 0x101622ac
call fcn.10128a81
add esp, 0x14
jmp 0x10038ac4
cmp edi, ebx
jne 0x10038a26
push esi
push str.OutString:__s_n
call fcn.10128a81
mov eax, dword [esp + 0x24]
add esp, 8
cmp dword [esp + 0x30], 0x10
jae 0x10038a19
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x6c]
push ecx
push eax
push str._s__MAK_PPK:__s__n
jmp 0x10038a7c
cmp dword [esp + 0x30], 0x10
mov eax, dword [esp + 0x1c]
jae 0x10038a35
lea eax, [esp + 0x1c]
lea edx, [esp + 0x6c]
push edx
push eax
push str._sBBBBB_BBBBB_BBBBB_BBBBB__s
jmp 0x10038abb
cmp edi, ebx
jne 0x10038a93
push esi
push str.OutString:__s_n
call fcn.10128a81
mov ecx, dword [esp + 0x40]
mov eax, 0x10
add esp, 8
cmp dword [esp + 0x4c], eax
jae 0x10038a67
lea ecx, [esp + 0x38]
cmp dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
jae 0x10038a75
lea eax, [esp + 0x1c]
push ecx
push eax
push str._s___s__PPK:NULL__n
call fcn.10128a81
add esp, 0xc
push 0x101622ac
call fcn.10128a81
add esp, 4
jmp 0x10038ac4
mov ecx, dword [esp + 0x38]
mov eax, 0x10
cmp dword [esp + 0x4c], eax
jae 0x10038aa6
lea ecx, [esp + 0x38]
cmp dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
jae 0x10038ab4
lea eax, [esp + 0x1c]
push ecx
push eax
push 0x1015813c
push edi
call fcn.10127dc0
add esp, 0x10
push ebx
push 0x1014d5e3
lea ecx, [esp + 0x58]
call fcn.10009b30
push ebx
push 0x1014d5e3
lea ecx, [esp + 0x20]
call fcn.10009b30
push ebx
push 0x1014d5e3
lea ecx, [esp + 0x3c]
call fcn.10009b30
cmp dword [0x101b3d98], ebx
je 0x10038b06
push str.Calling_FindOfficeKey__..._n
call fcn.10128a81
add esp, 4
cmp dword [0x101b3d9c], ebx
je 0x10038b1c
push str._WOFF__FindOffKey...
push ebx
call fcn.1006ed90
add esp, 8
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x38]
lea ecx, [esp + 0x54]
call fcn.1003a330
add esp, 4
mov esi, 0x10
cmp dword [0x101b3d98], ebx
je 0x10038b69
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x4c], esi
jae 0x10038b4c
lea ecx, [esp + 0x38]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x30], esi
jae 0x10038b5a
lea eax, [esp + 0x1c]
push ecx
push eax
push str.FindOfficeKey_returns_NS:_s__KS:_s__n
call fcn.10128a81
add esp, 0xc
cmp dword [0x101b3d9c], ebx
je 0x10038bac
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x4c], esi
jae 0x10038b7f
lea edx, [esp + 0x38]
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x30], esi
jae 0x10038b8d
lea ecx, [esp + 0x1c]
mov eax, dword [esp + 0x54]
cmp dword [esp + 0x68], esi
jae 0x10038b9b
lea eax, [esp + 0x54]
push edx
push ecx
push eax
push str._WOFF__FindOfficeKey_returns_OS:__s___NS:__s___KS:__s__n
push ebx
call fcn.1006ed90
add esp, 0x14
cmp dword [esp + 0x68], esi
mov esi, dword [esp + 0x54]
jae 0x10038bba
lea esi, [esp + 0x54]
cmp byte [esi], bl
je 0x10039138
push 0x103
lea ecx, [esp + 0x179]
push ebx
push ecx
mov byte [esp + 0x180], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea edx, [esp + 0x7a9]
push ebx
push edx
mov byte [esp + 0x7b0], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea eax, [esp + 0x71]
push ebx
push eax
mov byte [esp + 0x78], bl
call fcn.1012e060
add esp, 0xc
cmp dword [0x101b3d9c], ebx
je 0x10038c29
push str._WOFF__Get_Partial_Office_Key
push ebx
call fcn.1006ed90
add esp, 8
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x7a8]
push edx
lea eax, [esp + 0x17c]
push eax
call fcn.100383e0
add esp, 0xc
cmp dword [0x101b3d9c], ebx
je 0x10038c5c
push str._WOFF__Get_Partial_Office_Key_Finish
push ebx
call fcn.1006ed90
add esp, 8
mov edi, dword [esp + 0x14]
cmp edi, ebx
jne 0x10038c89
push esi
push str.OutString:__s_n
call fcn.10128a81
lea ecx, [esp + 0x17c]
push ecx
lea edx, [esp + 0x78]
push edx
push str._OffKey1___s__PPK:_s_n
call fcn.10128a81
add esp, 0x14
cmp dword [0x101b3d9c], ebx
je 0x10038cbb
push esi
push str._WOFF__OutString:__s
push ebx
call fcn.1006ed90
add esp, 0xc
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x70]
push ecx
push str._WOFF___OffKey1___s__PPK:_s
push ebx
call fcn.1006ed90
add esp, 0x10
cmp byte [esp + 0x174], bl
jne 0x10038d4f
cmp dword [0x101b3d9c], ebx
je 0x10038cde
push str._WOFF__Get_Partial_Office_Key_from_SWLicense
push ebx
call fcn.1006ed90
add esp, 8
lea edx, [esp + 0x6c]
push edx
lea eax, [esp + 0x7a8]
push eax
lea ecx, [esp + 0x17c]
push ecx
mov ecx, str.Office
call fcn.10037f60
add esp, 0xc
cmp dword [0x101b3d9c], ebx
je 0x10038d2b
lea edx, [esp + 0x7a4]
push edx
lea eax, [esp + 0x178]
push eax
lea ecx, [esp + 0x74]
push ecx
push str._WOFF___OffKey2___s__PPK:_s__ErrMsg:__s_
push ebx
call fcn.1006ed90
add esp, 0x14
cmp edi, ebx
jne 0x10038e87
lea edx, [esp + 0x174]
push edx
lea eax, [esp + 0x70]
push eax
push str._OffKey2___s__PPK:_s_n
call fcn.10128a81
add esp, 0xc
jmp 0x10038d57
cmp edi, ebx
jne 0x10038e87
push 0x103
lea ecx, [esp + 0x389]
push ebx
push ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x390], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea edx, [esp + 0x281]
push ebx
push edx
mov byte [esp + 0x288], bl
call fcn.1012e060
mov edx, dword [esp + 0x28]
mov esi, 0x10
add esp, 0xc
cmp dword [esp + 0x30], esi
jae 0x10038dac
lea edx, [esp + 0x1c]
push 1
push 0x7c
lea eax, [esp + 0x18]
lea ecx, [esp + 0x38c]
push eax
push ecx
xor cl, cl
call fcn.10061f00
mov edx, dword [esp + 0x48]
add esp, 0x10
cmp dword [esp + 0x4c], esi
jae 0x10038dd5
lea edx, [esp + 0x38]
push 1
push 0x7c
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x284]
push eax
push ecx
xor cl, cl
call fcn.10061f00
or esi, 0xffffffff
add esp, 0x10
cmp dword [esp + 0x10], esi
je 0x10038e75
lea edi, [esi + 0x11]
lea esp, [esp]
lea edx, [esp + 0x27c]
push edx
lea eax, [esp + 0x388]
push eax
push str._OffKey_Array___s:_s_n
call fcn.10128a81
mov edx, dword [esp + 0x28]
add esp, 0xc
cmp dword [esp + 0x30], edi
jae 0x10038e2b
lea edx, [esp + 0x1c]
push 1
lea ecx, [esp + 0x14]
push 0x7c
push ecx
lea eax, [esp + 0x390]
push eax
xor cl, cl
call fcn.10061f00
mov edx, dword [esp + 0x48]
add esp, 0x10
cmp dword [esp + 0x4c], edi
jae 0x10038e54
lea edx, [esp + 0x38]
push 1
lea ecx, [esp + 0x18]
push 0x7c
push ecx
lea eax, [esp + 0x288]
push eax
xor cl, cl
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x10], esi
jne 0x10038e00
push 0x101622ac
call fcn.10128a81
add esp, 4
jmp 0x10039138
push 0x103
lea ecx, [esp + 0x6a1]
push ebx
push ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov byte [esp + 0x6a8], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea edx, [esp + 0x281]
push ebx
push edx
mov byte [esp + 0x288], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea eax, [esp + 0x599]
push ebx
push eax
mov byte [esp + 0x5a0], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea ecx, [esp + 0x491]
push ebx
push ecx
mov byte [esp + 0x498], bl
call fcn.1012e060
add esp, 0xc
push 0x103
lea edx, [esp + 0x389]
push ebx
push edx
mov byte [esp + 0x390], bl
call fcn.1012e060
mov edx, dword [esp + 0x28]
mov esi, 0x10
add esp, 0xc
cmp dword [esp + 0x30], esi
jae 0x10038f33
lea edx, [esp + 0x1c]
push 1
push 0x7c
lea eax, [esp + 0x18]
lea ecx, [esp + 0x6a4]
push eax
push ecx
xor cl, cl
call fcn.10061f00
mov edx, dword [esp + 0x48]
add esp, 0x10
cmp dword [esp + 0x4c], esi
jae 0x10038f5c
lea edx, [esp + 0x38]
push 1
push 0x7c
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x284]
push eax
push ecx
xor cl, cl
call fcn.10061f00
or esi, 0xffffffff
add esp, 0x10
cmp dword [esp + 0x10], esi
je 0x10038fe3
cmp byte [esp + 0x174], bl
je 0x10039020
push ebx
lea edx, [esp + 0x178]
push edx
lea eax, [esp + 0x284]
push eax
call fcn.10063340
add esp, 0xc
cmp eax, esi
je 0x10039044
xor eax, eax
mov cl, byte [esp + eax + 0x69c]
mov byte [esp + eax + 0x594], cl
inc eax
cmp cl, bl
jne 0x10038fb0
xor eax, eax
jmp 0x10038fd0
mov cl, byte [esp + eax + 0x27c]
mov byte [esp + eax + 0x48c], cl
inc eax
cmp cl, bl
jne 0x10038fd0
cmp byte [esp + 0x594], bl
je 0x100390c6
cmp byte [esp + 0x48c], bl
je 0x100390c6
lea ecx, [esp + 0x48c]
push ecx
lea edx, [esp + 0x598]
push edx
push 0x1015813c
push edi
call fcn.10127dc0
add esp, 0x10
jmp 0x10039138
push 1
push 0x7c
lea edx, [esp + 0x6a4]
mov ecx, edi
call fcn.1006c030
push 1
push 0x7c
lea edx, [esp + 0x284]
mov ecx, edi
call fcn.1006c030
cmp byte [esp + 0x384], bl
jne 0x10039063
xor eax, eax
nop
mov cl, byte [esp + eax + 0x69c]
mov byte [esp + eax + 0x384], cl
inc eax
cmp cl, bl
jne 0x10039050
cmp dword [esp + 0x30], 0x10
mov edx, dword [esp + 0x1c]
jae 0x10039072
lea edx, [esp + 0x1c]
push 1
lea ecx, [esp + 0x14]
push 0x7c
push ecx
lea eax, [esp + 0x6a8]
push eax
xor cl, cl
call fcn.10061f00
mov edx, dword [esp + 0x48]
add esp, 0x10
cmp dword [esp + 0x4c], 0x10
jae 0x1003909c
lea edx, [esp + 0x38]
push 1
lea ecx, [esp + 0x18]
push 0x7c
push ecx
lea eax, [esp + 0x288]
push eax
xor cl, cl
call fcn.10061f00
add esp, 0x10
cmp dword [esp + 0x10], esi
jne 0x10038f80
jmp 0x10038fe3
cmp byte [esp + 0x174], bl
je 0x10039138
cmp byte [esp + 0x384], bl
je 0x100390f8
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x388]
push ecx
push str._sBBBBB_BBBBB_BBBBB_BBBBB__s
push edi
call fcn.10127dc0
add esp, 0x10
jmp 0x10039138
cmp byte [esp + 0x6c], bl
je 0x10039122
lea esi, [esp + 0x6c]
call fcn.100394b0
lea edx, [esp + 0x174]
push edx
mov eax, esi
push eax
push str._sBBBBB_BBBBB_BBBBB_BBBBB__s
push edi
call fcn.10127dc0
add esp, 0x10
jmp 0x10039138
lea ecx, [esp + 0x174]
push ecx
push str.UNKNOWNBBBBB_BBBBB_BBBBB_BBBBB__s
push edi
call fcn.10127dc0
add esp, 0xc
cmp dword [esp + 0x4c], 0x10
jb 0x1003914c
mov edx, dword [esp + 0x38]
push edx
call fcn.10128f9e
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
cmp dword [esp + 0x30], edi
jb 0x10039175
mov eax, dword [esp + 0x1c]
push eax
call fcn.10128f9e
add esp, 4
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
cmp dword [esp + 0x68], edi
jb 0x10039194
mov ecx, dword [esp + 0x54]
push ecx
call fcn.10128f9e
add esp, 4
mov ecx, dword [esp + 0x8b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x8a0]
xor ecx, esp
call fcn.10127db1
mov esp, ebp
pop ebp
ret