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

Disassembly:
sub esp, 0x13c
mov eax, dword [esp + 0x140]
mov dword [esp + 0x1c], ecx
xor ecx, ecx
xor edx, edx
mov ch, byte [eax + 9]
mov dl, byte [eax + 0xb]
mov cl, byte [eax + 0xa]
mov eax, dword [eax + 0x14]
push ebx
push ebp
shl ecx, 8
push esi
mov esi, dword [esp + 0x154]
or ecx, edx
xor ebx, ebx
push edi
mov edi, ecx
push ebx
push esi
push edi
push eax
lea ecx, [esp + 0x40]
call fcn.0048d910
mov ecx, dword [esp + 0x3c]
push 2
add ecx, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x34]
call fcn.0048b1a0
lea ecx, [esp + 0x30]
mov dword [esp + 0x10], eax
call fcn.0048b060
lea ecx, [esp + 0x30]
mov dword [esp + 0x18], eax
call fcn.0048b060
lea ecx, [esp + 0x30]
mov ebp, eax
call fcn.0048b060
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x154]
xor edi, edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], edi
mov ecx, dword [eax]
cmp ecx, ebx
je 0x4969de
push ebx
lea edx, [esp + 0x80]
push ebx
push edx
lea edx, [esp + 0x108]
mov eax, dword [eax + 0x10]
push edx
lea edx, [esp + 0xe8]
push edx
lea edx, [esp + 0xf8]
push edx
lea edx, [esp + 0x120]
push edx
lea edx, [esp + 0x10c]
push edx
mov edx, dword [esp + 0x30]
push ebx
push edx
push ebx
push eax
push ebx
push ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
call fcn.00455eb0
push eax
call fcn.004989a0
add esp, 0x38
test eax, eax
je 0x496975
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x7c]
and ebp, 2
mov eax, dword [eax + 0x10]
push ebp
push eax
push ecx
mov ecx, dword [esp + 0x38]
call fcn.00496760
mov dword [esp + 0x1c], eax
mov edi, eax
mov edx, dword [esp + 0x7c]
mov ecx, 0x4de568
push edx
call fcn.0041e9a0
mov eax, dword [esp + 0xfc]
mov ecx, 0x4de568
push eax
call fcn.0041e9a0
mov ecx, dword [esp + 0xd8]
push ecx
mov ecx, 0x4de568
call fcn.0041e9a0
mov edx, dword [esp + 0xe4]
mov ecx, 0x4de568
push edx
call fcn.0041e9a0
mov eax, dword [esp + 0x108]
mov ecx, 0x4de568
push eax
call fcn.0041e9a0
mov ecx, dword [esp + 0xf0]
push ecx
mov ecx, 0x4de568
call fcn.0041e9a0
mov edx, dword [esp + 0x10]
push edx
call fcn.0041eda0
add esp, 4
cmp edi, ebx
je 0x497251
mov eax, dword [esp + 0x154]
mov ecx, dword [edi + 0x88]
cmp ecx, eax
jne 0x497251
mov ecx, dword [esp + 0x28]
push ebx
mov dword [edi + 0x78], ecx
mov ecx, dword [edi + 0x8c]
call fcn.00455eb0
push eax
push esi
lea ecx, [esp + 0x144]
call fcn.0043e910
mov ecx, dword [edi + 0x8c]
push str.data
call fcn.004532e0
cmp eax, ebx
je 0x497245
cmp dword [eax], 3
jne 0x497245
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x70], eax
mov dword [esp + 0x3c], ecx
push esi
lea ecx, [esp + 0xcc]
mov dword [esp + 0x28], edx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xcc], 6
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x2c], ebx
call fcn.00454e10
mov ecx, dword [esp + 0xd0]
mov ebp, ecx
mov dword [esp + 0x18], ebp
call fcn.00452e50
cmp ebp, ebx
je 0x497182
jmp 0x496aaa
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x68]
cmp edx, eax
jge 0x49717e
lea ecx, [esp + 0x30]
call fcn.0048af80
and eax, 0xff
lea ecx, [esp + 0x30]
mov dword [esp + 0x10], eax
call fcn.0048b060
mov ebp, eax
mov eax, dword [edi + 0xb4]
cmp eax, ebx
je 0x496aee
cmp dword [esp + 0x10], 0xb
je 0x496aee
add dword [esp + 0x3c], ebp
jmp 0x496aaa
mov eax, dword [esp + 0x10]
add eax, 0xfffffffc
cmp eax, 7
ja case.0x496afa.10
jmp dword [eax*4 + 0x497268]
mov ebp, 6
push esi
lea ecx, [esp + 0x9c]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebx
call fcn.00454ea0
mov ecx, dword [esp + 0xa0]
push ebx
push str.Object
push ecx
mov ecx, esi
call fcn.004649d0
mov ecx, dword [edi + 0x8c]
push 0x46
lea edx, [esp + 0x9c]
push ebx
push edx
push str.data
call fcn.00453aa0
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
push eax
mov dword [eax + 0x88], 0x14
mov eax, dword [edi + 0x8c]
push eax
call fcn.00497c00
add esp, 8
mov eax, 1
lea ecx, [esp + 0xb8]
mov dword [esp + 0x14], eax
push esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc0], ebx
call fcn.00454ea0
mov eax, dword [esp + 0xc0]
push ebx
push str.Object
push eax
mov ecx, esi
mov ebp, eax
call fcn.004649d0
push ebx
push str.clear
push str.code
mov ecx, ebp
call fcn.004540c0
lea ecx, [esp + 0xb8]
push ebx
push ecx
mov ecx, dword [esp + 0x20]
call fcn.004554e0
lea ecx, [esp + 0xb8]
mov dword [edi + 0x94], 1
call fcn.00454b70
mov eax, dword [esp + 0xbc]
cmp eax, ebx
je 0x496c26
mov edx, dword [eax]
mov ecx, edx
and ecx, 0xfffffffe
not edx
dec ecx
and edx, 1
xor ecx, edx
mov dword [eax], ecx
mov ecx, dword [eax]
test ecx, 0xfffffffe
jg 0x496c26
mov ecx, eax
call fcn.00456510
lea ecx, [esp + 0x98]
call fcn.00454b70
mov ecx, dword [esp + 0x9c]
cmp ecx, ebx
je 0x496aaa
mov eax, dword [ecx]
mov edx, eax
and edx, 0xfffffffe
not eax
dec edx
and eax, 1
xor edx, eax
mov dword [ecx], edx
mov eax, dword [ecx]
test eax, 0xfffffffe
jg 0x496aaa
call fcn.00456510
jmp 0x496aaa
push esi
push 0x4d28b8
call fcn.004562c0
add esp, 8
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x114]
push eax
call fcn.00455120
mov ecx, dword [esp + 0x2c]
cmp ecx, ebx
je 0x496cb3
mov eax, dword [ecx]
mov edx, eax
and edx, 0xfffffffe
not eax
dec edx
and eax, 1
xor edx, eax
mov dword [ecx], edx
mov eax, dword [ecx]
test eax, 0xfffffffe
jg 0x496cb3
call fcn.00456510
lea eax, [esp + 0x114]
push 1
push eax
lea ecx, [esp + 0x38]
call fcn.0048e890
lea ecx, [esp + 0x12c]
push ecx
mov ecx, dword [esp + 0x28]
call fcn.00453360
push esi
lea ecx, [esp + 0x70]
mov ebp, eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x70], 6
mov dword [esp + 0x74], ebx
call fcn.00454ea0
mov edi, dword [esp + 0x74]
push ebx
push str.Object
push edi
mov ecx, esi
call fcn.004649d0
mov eax, dword [esp + 0x12c]
cmp eax, ebx
je 0x496d15
mov eax, dword [eax + 4]
jmp 0x496d17
xor eax, eax
push ebx
push eax
push str.name
mov ecx, edi
call fcn.004540c0
cmp ebp, ebx
je 0x496d6a
mov al, byte [ebp + 0x22]
cmp al, bl
mov eax, str.change
je 0x496d3a
mov eax, str.reject
push ebx
push eax
push str.code
mov ecx, edi
call fcn.004540c0
push ebx
push ebx
push ebp
push str.oldValue
mov ecx, edi
call fcn.00453aa0
test byte [ebp + 0x22], 2
je 0x496d65
mov dword [esp + 0x14], 1
mov byte [ebp + 0x22], bl
jmp 0x496d7c
push ebx
push str.change
push str.code
mov ecx, edi
call fcn.004540c0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x6c]
push ebx
push edx
call fcn.004554e0
mov edi, dword [esp + 0x24]
push ebx
lea eax, [esp + 0x118]
push 1
lea ecx, [esp + 0x134]
push eax
push ecx
mov ecx, edi
call fcn.00453b10
cmp dword [esp + 0x114], 3
jne 0x496dd3
lea edx, [esp + 0x12c]
mov ecx, edi
push edx
call fcn.00453360
cmp eax, ebx
je 0x496dd3
mov eax, dword [eax + 8]
push eax
push edi
call fcn.00497c00
add esp, 8
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x94], 1
lea ecx, [esp + 0x6c]
call fcn.00454b70
mov ecx, dword [esp + 0x70]
cmp ecx, ebx
je 0x496e11
mov eax, dword [ecx]
mov edx, eax
and edx, 0xfffffffe
not eax
dec edx
and eax, 1
xor edx, eax
mov dword [ecx], edx
mov eax, dword [ecx]
test eax, 0xfffffffe
jg 0x496e11
call fcn.00456510
lea ecx, [esp + 0x114]
call fcn.004551c0
mov ecx, dword [esp + 0x12c]
cmp ecx, ebx
je 0x496e47
mov eax, dword [ecx]
mov edx, eax
and edx, 0xfffffffe
not eax
dec edx
and eax, 1
xor edx, eax
mov dword [ecx], edx
mov eax, dword [ecx]
test eax, 0xfffffffe
jg 0x496e47
call fcn.00456510
lea ecx, [esp + 0x114]
call fcn.00454b70
mov ecx, dword [esp + 0x118]
cmp ecx, ebx
je 0x496aa6
mov eax, dword [ecx]
mov edx, eax
and edx, 0xfffffffe
not eax
dec edx
and eax, 1
xor edx, eax
mov dword [ecx], edx
mov eax, dword [ecx]
test eax, 0xfffffffe
jg 0x496aa6
call fcn.00456510
jmp 0x496aa6
mov eax, 1
mov dword [edi + 0xb4], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], eax
jmp 0x496aaa
mov ecx, dword [esp + 0x3c]
xor edx, edx
lea eax, [ecx + ebp]
cmp ecx, eax
mov ecx, 1
mov dword [esp + 0x14], ecx
mov dword [edi + 0x94], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
sete dl
cmp ecx, eax
mov dword [esp + 0x28], edx
jge 0x496aaa
push 2
lea ecx, [esp + 0x34]
call fcn.0048b1a0
mov ecx, dword [esp + 0x24]
push eax
mov dword [esp + 0x14], eax
call fcn.004532e0
mov ebp, eax
cmp ebp, ebx
je 0x496fcb
mov al, byte [ebp + 0x22]
cmp al, 2
jne 0x496fed
push esi
lea ecx, [esp + 0x8c]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x8c], 6
mov dword [esp + 0x90], ebx
call fcn.00454ea0
mov edi, dword [esp + 0x90]
push ebx
push str.Object
push edi
mov ecx, esi
call fcn.004649d0
mov eax, dword [esp + 0x10]
push ebx
push eax
push str.name
mov ecx, edi
call fcn.004540c0
push ebx
push str.success
push str.code
mov ecx, edi
call fcn.004540c0
lea ecx, [esp + 0x88]
push ebx
push ecx
mov ecx, dword [esp + 0x20]
call fcn.004554e0
test byte [ebp + 0x20], 1
je 0x496f8e
cmp dword [ebp], 6
jne 0x496f8e
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
push edx
call fcn.004534a0
jmp 0x496f91
mov byte [ebp + 0x22], bl
lea ecx, [esp + 0x88]
call fcn.00454b70
mov ecx, dword [esp + 0x8c]
cmp ecx, ebx
je 0x496fc7
mov eax, dword [ecx]
mov edx, eax
and edx, 0xfffffffe
not eax
dec edx
and eax, 1
xor edx, eax
mov dword [ecx], edx
mov eax, dword [ecx]
test eax, 0xfffffffe
jg 0x496fc7
call fcn.00456510
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
push eax
call fcn.0041eda0
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
add esp, 4
cmp ecx, eax
jl 0x496ed3
jmp 0x496aaa
cmp al, 3
jne 0x496fcb
mov byte [ebp + 0x22], 1
jmp 0x496fcb
push 2
lea ecx, [esp + 0x34]
call fcn.0048b1a0
mov ecx, dword [esp + 0x24]
mov ebp, eax
push ebp
mov dword [esp + 0x14], ebp
call fcn.004532e0
cmp eax, ebx
je 0x4970ef
xor ecx, ecx
push ebp
mov cl, byte [eax + 0x22]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x28]
call fcn.004534a0
test eax, eax
je 0x4970ef
push esi
lea ecx, [esp + 0xac]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xac], 6
mov dword [esp + 0xb0], ebx
call fcn.00454ea0
mov ebp, dword [esp + 0xb0]
push ebx
push str.Object
push ebp
mov ecx, esi
call fcn.004649d0
mov edx, dword [esp + 0x10]
push ebx
push edx
push str.name
mov ecx, ebp
call fcn.004540c0
push ebx
push str.delete
push str.code
mov ecx, ebp
call fcn.004540c0
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xa8]
push ebx
push eax
call fcn.004554e0
test byte [esp + 0x20], 2
je 0x4970b5
mov dword [esp + 0x14], 1
lea ecx, [esp + 0xa8]
call fcn.00454b70
mov ecx, dword [esp + 0xac]
cmp ecx, ebx
je 0x4970eb
mov eax, dword [ecx]
mov edx, eax
and edx, 0xfffffffe
not eax
dec edx
and eax, 1
xor edx, eax
mov dword [ecx], edx
mov eax, dword [ecx]
test eax, 0xfffffffe
jg 0x4970eb
call fcn.00456510
mov ebp, dword [esp + 0x10]
push ebp
call fcn.0041eda0
add esp, 4
mov dword [edi + 0x94], 1
jmp 0x496aaa
push 2
lea ecx, [esp + 0x34]
mov dword [esp + 0x18], 1
call fcn.0048b1a0
push 2
lea ecx, [esp + 0x34]
mov ebp, eax
call fcn.0048b1a0
push ebx
push ebx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0x30], eax
call fcn.00499e60
push ebp
call fcn.0041eda0
mov eax, dword [esp + 0x24]
push eax
call fcn.0041eda0
add esp, 8
jmp 0x496aaa
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov eax, dword [edi + 0x8c]
push 0x4c937c
add edx, ecx
push ebp
push edx
push eax
push esi
call fcn.0049fae0
mov eax, dword [esp + 0x50]
add esp, 0x14
add eax, ebp
mov dword [esp + 0x3c], eax
jmp 0x496aaa
mov ebp, dword [esp + 0x18]
mov ecx, ebp
call fcn.00452e00
test eax, eax
jne 0x497193
cmp dword [esp + 0x28], ebx
je 0x4971fc
mov ecx, esi
call fcn.00461400
test eax, eax
je 0x4971be
mov edx, dword [esi + 0xc90]
mov eax, dword [esi + 0xc8c]
lea ecx, [esp + 0xc8]
shl edx, 4
push ecx
lea ecx, [edx + eax - 0x10]
call fcn.00454fb0
mov ecx, dword [edi + 0x8c]
push ebx
push ebx
push ebx
push ebx
push 1
push str.onSync
push ebx
push ecx
mov ecx, esi
call fcn.00463850
test eax, eax
je 0x4971e5
push 1
mov ecx, esi
call fcn.00439b30
mov ecx, esi
call fcn.00461550
test byte [edi + 0x74], 1
je 0x4971fc
mov dword [edi + 0x94], 1
cmp dword [esp + 0x14], ebx
je 0x497208
mov dword [edi + 0xb0], ebx
mov ecx, ebp
call fcn.00452e60
lea ecx, [esp + 0xc8]
call fcn.00454b70
mov ecx, dword [esp + 0xcc]
cmp ecx, ebx
je 0x497245
mov eax, dword [ecx]
mov edx, eax
and edx, 0xfffffffe
not eax
dec edx
and eax, 1
xor edx, eax
mov dword [ecx], edx
mov eax, dword [ecx]
test eax, 0xfffffffe
jg 0x497245
call fcn.00456510
lea ecx, [esp + 0x13c]
call fcn.0043ea40
lea ecx, [esp + 0x30]
call fcn.0048d950
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x13c
ret 0xc