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

Disassembly:
push 0xffffffffffffffff
push 0x872ee9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x454
mov eax, dword [esp + 0x464]
push ebx
push ebp
push esi
push edi
xor edi, edi
mov ebx, ecx
cmp eax, edi
mov dword [esp + 0x7c], ebx
je 0x54a938
mov esi, dword [esp + 0x478]
lea ecx, [esp + 0x20]
push esi
call fcn.00617650
lea eax, [esp + 0x84]
mov dword [esp + 0x46c], edi
push eax
mov dword [esp + 0x1c], edi
call fcn.005f121f
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x47c]
mov ebp, 1
cmp eax, 6
mov byte [esp + 0x46c], 1
ja case.default.0x549d67
jmp dword [eax*4 + 0x54a954]
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, edi
jge 0x549d83
push eax
call fcn.006a9910
cmp esi, edi
mov word [esp + 0x2c], 8
jne 0x549d97
mov dword [esp + 0x34], edi
jmp 0x54a89f
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
cmp eax, edi
mov dword [esp + 0x34], eax
jne 0x54a89f
push 0x8007000e
call fcn.006a9910
jmp 0x54a89f
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x18]
push eax
push 0x935780
push ecx
call fcn.005fc68e
mov cx, word [esp + 0x38]
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp cx, 3
mov esi, eax
jne 0x549dea
mov dword [esp + 0x34], eax
jmp 0x54a89f
cmp cx, 0xa
jne 0x549df9
mov dword [esp + 0x34], eax
jmp 0x54a89f
cmp cx, 0xb
jne 0x549e0d
neg eax
sbb eax, eax
mov word [esp + 0x34], ax
jmp 0x54a89f
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, edi
jge 0x549e22
push eax
call fcn.006a9910
mov word [esp + 0x2c], 3
mov dword [esp + 0x34], esi
jmp 0x54a89f
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x18]
push eax
push 0x935780
push ecx
call fcn.005fc68e
mov ecx, dword [esp + 0x24]
add esp, 0xc
cmp ecx, edi
mov esi, 0xb
setne bl
cmp word [esp + 0x2c], si
je 0x549e78
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, edi
jge 0x549e73
push eax
call fcn.006a9910
mov word [esp + 0x2c], si
mov eax, dword [esp + 0x18]
neg bl
sbb ebx, ebx
cmp eax, edi
mov word [esp + 0x34], bx
je 0x54a89f
mov ecx, dword [esp + 0x474]
push ebp
call fcn.005cdd20
jmp 0x54a89f
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x18]
push eax
push 0x935780
push ecx
call fcn.005fc68e
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, edi
je 0x54a8b2
push eax
mov ecx, ebx
call fcn.0054c2e0
jmp 0x549ef7
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x18]
push edx
push 0x935780
push eax
call fcn.005fc68e
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, edi
je 0x54a8b2
push eax
mov ecx, ebx
call fcn.0054c360
sub esp, 8
lea ecx, [esp + 0x8c]
fstp qword [esp]
call fcn.005f1526
jmp 0x54a8b9
mov ecx, dword [0x98b454]
mov dword [esp + 0x24], ecx
mov edx, dword [ebx + 0xc94]
mov eax, dword [ebx + 0xc90]
push esi
push edx
push eax
lea ecx, [esp + 0x30]
push str.RO__d__Mode__d__sz__s_
push ecx
mov byte [esp + 0x480], 2
call fcn.00826097
add esp, 0x14
lea ecx, [esp + 0x24]
mov byte [esp + 0x46c], 1
call fcn.00831eeb
cmp dword [ebx + 0xc94], edi
jne 0x549f69
mov edx, dword [esp + 0x474]
mov dword [edx + 0x94], edi
jmp 0x549f76
mov eax, dword [esp + 0x474]
mov dword [eax + 0x94], ebp
cmp dword [ebx + 0xc90], edi
jne 0x549f86
cmp dword [ebx + 0xc94], ebp
jne 0x549f93
mov ecx, dword [esp + 0x474]
push esi
call fcn.005530a0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x46c], 0
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, edi
jge 0x54a924
jmp 0x54a91e
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, edi
jge 0x549fc8
push eax
call fcn.006a9910
cmp esi, edi
mov word [esp + 0x2c], 8
jne 0x549fd9
mov dword [esp + 0x34], edi
jmp 0x549ff2
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
cmp eax, edi
mov dword [esp + 0x34], eax
jne 0x549ff2
push 0x8007000e
call fcn.006a9910
push 0x9b5220
lea ecx, [esp + 0x28]
call fcn.00831f5f
push 0x9b5220
lea ecx, [esp + 0x2c]
mov byte [esp + 0x470], 3
call fcn.00831f5f
push 0x9b5220
lea ecx, [esp + 0x40]
mov byte [esp + 0x470], 4
call fcn.00831f5f
push 0x9b5220
lea ecx, [esp + 0x44]
mov byte [esp + 0x470], 5
call fcn.00831f5f
push 0x9b5220
lea ecx, [esp + 0x7c]
mov byte [esp + 0x470], 6
call fcn.00831f5f
push 0x9b5220
lea ecx, [esp + 0x20]
mov byte [esp + 0x470], 7
call fcn.00831f5f
push 0x9b5220
lea ecx, [esp + 0x18]
mov byte [esp + 0x470], 8
call fcn.00831f5f
mov eax, dword [esp + 0x20]
mov byte [esp + 0x46c], 9
mov dword [esp + 0x80], edi
cmp dword [eax - 8], edi
je 0x54a626
lea ecx, [esp + 0xe8]
call fcn.0063b010
push esi
lea ecx, [esp + 0xec]
mov byte [esp + 0x470], 0xa
call fcn.0063bd20
push str.OutsendWatermarkPolicy
lea ecx, [esp + 0xec]
call fcn.0063bf30
test eax, eax
je 0x54a612
lea ecx, [esp + 0x11c]
call fcn.006cee70
lea ecx, [esp + 0xe8]
mov byte [esp + 0x46c], 0xb
push ecx
lea ecx, [esp + 0x120]
call fcn.006cf1b0
lea ecx, [esp + 0x11c]
call fcn.006cefe0
lea edx, [esp + 0x98]
lea ecx, [esp + 0x11c]
push edx
mov dword [esp + 0x84], eax
call fcn.006cf010
mov eax, dword [eax]
lea ecx, [esp + 0x24]
push eax
mov byte [esp + 0x470], 0xc
call fcn.00832082
lea ecx, [esp + 0x98]
mov byte [esp + 0x46c], 0xb
call fcn.00617ec0
lea eax, [esp + 0xac]
lea ecx, [esp + 0x11c]
push eax
call fcn.006cf060
mov eax, dword [eax]
lea ecx, [esp + 0x28]
push eax
mov byte [esp + 0x470], 0xd
call fcn.00832082
lea ecx, [esp + 0xac]
mov byte [esp + 0x46c], 0xb
call fcn.00617ec0
mov ecx, dword [esp + 0x28]
cmp dword [ecx - 8], edi
jne 0x54a1a4
push 0x11ef
lea ecx, [esp + 0x2c]
call fcn.008325e8
lea ecx, [esp + 0x11c]
call fcn.006cf0a0
test eax, eax
jne 0x54a1c4
push 0x11ef
lea ecx, [esp + 0x40]
call fcn.008325e8
jmp 0x54a1e3
lea ecx, [esp + 0x11c]
call fcn.006cf0a0
push eax
lea edx, [esp + 0x40]
push 0x92f580
push edx
call fcn.00826097
add esp, 0xc
lea ecx, [esp + 0x11c]
call fcn.006cf0c0
push eax
lea eax, [esp + 0x44]
push str._06X
push eax
call fcn.00826097
add esp, 0xc
lea ecx, [esp + 0x11c]
call fcn.006cf0e0
push eax
lea ecx, [esp + 0x7c]
push str._d___
push ecx
call fcn.00826097
xor edx, edx
add esp, 0xc
mov dword [esp + 0x6c], edx
lea eax, [esp + 0x68]
mov dword [esp + 0x70], edx
push eax
lea ecx, [esp + 0x120]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x78], edx
call fcn.006cf120
mov eax, dword [esp + 0x68]
cmp eax, edi
mov eax, dword [esp + 0x6c]
je 0x54a273
cmp eax, edi
je 0x54a296
cmp dword [esp + 0x70], edi
je 0x54a296
cmp dword [esp + 0x74], edi
je 0x54a296
push 0x11f0
lea ecx, [esp + 0x20]
call fcn.008325e8
jmp 0x54a400
cmp eax, edi
jne 0x54a296
cmp dword [esp + 0x70], edi
jne 0x54a296
cmp dword [esp + 0x74], edi
jne 0x54a296
push 0x9b5220
lea ecx, [esp + 0x20]
call fcn.00832082
jmp 0x54a400
push 0x9b5220
lea ecx, [esp + 0x14]
call fcn.00831f5f
mov eax, dword [esp + 0x68]
mov bl, 0xe
cmp eax, edi
mov byte [esp + 0x46c], bl
je 0x54a2ff
push 0x11f1
lea ecx, [esp + 0x14]
call fcn.008325e8
lea ecx, [esp + 0x10]
push 0x92eff4
lea edx, [esp + 0xb8]
push ecx
push edx
call fcn.00832190
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x470], 0xf
call fcn.00832318
lea ecx, [esp + 0xb4]
mov byte [esp + 0x46c], bl
call fcn.00831eeb
cmp dword [esp + 0x6c], edi
je 0x54a34f
push 0x11f2
lea ecx, [esp + 0x14]
call fcn.008325e8
lea eax, [esp + 0x10]
push 0x92eff4
lea ecx, [esp + 0x98]
push eax
push ecx
call fcn.00832190
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x470], 0x10
call fcn.00832318
lea ecx, [esp + 0x94]
mov byte [esp + 0x46c], bl
call fcn.00831eeb
cmp dword [esp + 0x70], edi
je 0x54a39f
push 0x11f3
lea ecx, [esp + 0x14]
call fcn.008325e8
lea edx, [esp + 0x10]
push 0x92eff4
lea eax, [esp + 0x94]
push edx
push eax
call fcn.00832190
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x470], 0x11
call fcn.00832318
lea ecx, [esp + 0x90]
mov byte [esp + 0x46c], bl
call fcn.00831eeb
cmp dword [esp + 0x74], edi
je 0x54a3ef
push 0x11f4
lea ecx, [esp + 0x14]
call fcn.008325e8
lea ecx, [esp + 0x10]
push 0x92eff4
lea edx, [esp + 0xa4]
push ecx
push edx
call fcn.00832190
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x470], 0x12
call fcn.00832318
lea ecx, [esp + 0xa0]
mov byte [esp + 0x46c], bl
call fcn.00831eeb
lea ecx, [esp + 0x10]
mov byte [esp + 0x46c], 0xb
call fcn.00831eeb
push 0x92eff4
lea ecx, [esp + 0x20]
call fcn.008261c2
xor eax, eax
lea ecx, [esp + 0x58]
mov dword [esp + 0x5c], eax
push ecx
mov dword [esp + 0x64], eax
lea ecx, [esp + 0x120]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x68], eax
call fcn.006cf180
mov eax, dword [esp + 0x58]
cmp eax, edi
mov eax, dword [esp + 0x5c]
je 0x54a460
cmp eax, edi
je 0x54a483
cmp dword [esp + 0x60], edi
je 0x54a483
cmp dword [esp + 0x64], edi
je 0x54a483
push 0x11f0
lea ecx, [esp + 0x18]
call fcn.008325e8
jmp 0x54a5f0
cmp eax, edi
jne 0x54a483
cmp dword [esp + 0x60], edi
jne 0x54a483
cmp dword [esp + 0x64], edi
jne 0x54a483
push 0x9b5220
lea ecx, [esp + 0x18]
call fcn.00832082
jmp 0x54a5f0
push 0x9b5220
lea ecx, [esp + 0x14]
call fcn.00831f5f
mov eax, dword [esp + 0x58]
mov byte [esp + 0x46c], 0x13
cmp eax, edi
je 0x54a4ec
push 0x11f1
lea ecx, [esp + 0x14]
call fcn.008325e8
lea edx, [esp + 0x10]
push 0x92eff4
lea eax, [esp + 0xbc]
push edx
push eax
call fcn.00832190
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x470], 0x14
call fcn.00832318
lea ecx, [esp + 0xb8]
mov byte [esp + 0x46c], 0x13
call fcn.00831eeb
cmp dword [esp + 0x5c], edi
je 0x54a53d
push 0x11f2
lea ecx, [esp + 0x14]
call fcn.008325e8
lea ecx, [esp + 0x10]
push 0x92eff4
lea edx, [esp + 0xb4]
push ecx
push edx
call fcn.00832190
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x470], 0x15
call fcn.00832318
lea ecx, [esp + 0xb0]
mov byte [esp + 0x46c], 0x13
call fcn.00831eeb
cmp dword [esp + 0x60], edi
je 0x54a58e
push 0x11f3
lea ecx, [esp + 0x14]
call fcn.008325e8
lea eax, [esp + 0x10]
push 0x92eff4
lea ecx, [esp + 0xa0]
push eax
push ecx
call fcn.00832190
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x470], 0x16
call fcn.00832318
lea ecx, [esp + 0x9c]
mov byte [esp + 0x46c], 0x13
call fcn.00831eeb
cmp dword [esp + 0x64], edi
je 0x54a5df
push 0x11f5
lea ecx, [esp + 0x14]
call fcn.008325e8
lea edx, [esp + 0x10]
push 0x92eff4
lea eax, [esp + 0xac]
push edx
push eax
call fcn.00832190
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x470], 0x17
call fcn.00832318
lea ecx, [esp + 0xa8]
mov byte [esp + 0x46c], 0x13
call fcn.00831eeb
lea ecx, [esp + 0x10]
mov byte [esp + 0x46c], 0xb
call fcn.00831eeb
push 0x92eff4
lea ecx, [esp + 0x18]
call fcn.008261c2
lea ecx, [esp + 0x11c]
mov byte [esp + 0x46c], 0xa
call fcn.006cef60
lea ecx, [esp + 0xe8]
mov byte [esp + 0x46c], 9
call fcn.0063b0a0
lea ecx, [esp + 0x44]
call fcn.0082aad0
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x24]
push ecx
push edx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x474], 0x18
call fcn.0082ada5
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x4c]
call fcn.0082ada5
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x3c]
push edx
push eax
lea ecx, [esp + 0x4c]
call fcn.0082ada5
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x40]
push ecx
push edx
lea ecx, [esp + 0x4c]
call fcn.0082ada5
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x78]
push eax
push ecx
lea ecx, [esp + 0x4c]
call fcn.0082ada5
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x4c]
call fcn.0082ada5
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x14]
push ecx
push edx
lea ecx, [esp + 0x4c]
call fcn.0082ada5
mov eax, dword [esp + 0x4c]
xor esi, esi
cmp eax, edi
jle 0x54a724
mov bl, 0x19
cmp dword [0x9dce80], edi
je 0x54a71b
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xa4]
mov eax, dword [eax + esi*4]
push eax
call fcn.00617650
mov ecx, dword [eax]
mov byte [esp + 0x46c], bl
push ecx
push str.CSDOutsendConfigPropPage::SetPropData_arrValue__s_
push str.CheckOutSendWaterMark
push 0xffffffffffffffff
push 0x9dc5ec
call fcn.006600d0
add esp, 0x14
lea ecx, [esp + 0xa4]
mov byte [esp + 0x46c], 0x18
call fcn.00617ec0
mov eax, dword [esp + 0x4c]
inc esi
cmp esi, eax
jl 0x54a6c8
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xbc], 0x11
mov dword [esp + 0xc0], 0x12
mov dword [esp + 0xc4], 0x13
mov dword [esp + 0xc8], 0x14
mov dword [esp + 0xcc], 0x15
mov dword [esp + 0xd0], 0x16
mov dword [esp + 0xd4], 0x17
lea ebx, [edx + 0x7f8]
xor esi, esi
mov eax, dword [esp + esi + 0xbc]
mov ecx, ebx
push eax
call fcn.005d4ee0
mov ebp, eax
cmp ebp, edi
je 0x54a80b
mov eax, dword [esp + 0x48]
mov edi, dword [esi + eax]
mov word [esp + 0xd8], 8
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
test eax, eax
mov dword [esp + 0xe0], eax
jne 0x54a7c3
test edi, edi
je 0x54a7c3
push 0x8007000e
call fcn.006a9910
lea ecx, [esp + 0xd8]
mov byte [esp + 0x46c], 0x1a
push ecx
mov ecx, ebp
call fcn.005e3510
lea edx, [esp + 0xd8]
mov byte [esp + 0x46c], 0x18
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test eax, eax
jge 0x54a7fa
push eax
call fcn.006a9910
mov eax, dword [esp + 0x80]
mov ecx, ebp
push eax
call fcn.005cdd20
xor edi, edi
add esi, 4
cmp esi, 0x1c
jb 0x54a77d
lea ecx, [esp + 0x44]
mov byte [esp + 0x46c], 9
call fcn.0082ab03
lea ecx, [esp + 0x14]
mov byte [esp + 0x46c], 8
call fcn.00831eeb
lea ecx, [esp + 0x1c]
mov byte [esp + 0x46c], 7
call fcn.00831eeb
lea ecx, [esp + 0x78]
mov byte [esp + 0x46c], 6
call fcn.00831eeb
lea ecx, [esp + 0x40]
mov byte [esp + 0x46c], 5
call fcn.00831eeb
lea ecx, [esp + 0x3c]
mov byte [esp + 0x46c], 4
call fcn.00831eeb
lea ecx, [esp + 0x28]
mov byte [esp + 0x46c], 3
call fcn.00831eeb
lea ecx, [esp + 0x24]
mov byte [esp + 0x46c], 1
call fcn.00831eeb
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x478]
call fcn.005e3510
jmp 0x54a8ee
mov dword [esp + 0x8c], ebp
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
sub esp, 0xc
mov eax, esp
mov dword [esp + 0x88], esp
mov dword [eax], edx
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x480]
mov dword [eax + 8], edx
call fcn.005e4040
lea eax, [esp + 0x2c]
mov byte [esp + 0x46c], 0
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, edi
jge 0x54a924
jmp 0x54a91e
lea ecx, [esp + 0x2c]
mov byte [esp + 0x46c], 0
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp eax, edi
jge 0x54a924
push eax
call fcn.006a9910
lea ecx, [esp + 0x20]
mov dword [esp + 0x46c], 0xffffffff
call fcn.00617ec0
mov ecx, dword [esp + 0x464]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x460
ret 0xc