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

Disassembly:
mov edx, dword [ebx + 0x2c]
sub esp, 0x54
push ebp
push esi
mov esi, dword [ebx + 0x20]
push edi
mov edi, eax
xor eax, eax
test edx, edx
setne al
cmp edi, eax
je 0x498093
push 0
call fcn.0044b1f0
add esp, 4
push esi
call fcn.00497d50
add esp, 4
test eax, eax
jne 0x4982a7
mov eax, dword [0x695d2c]
test eax, eax
je 0x4980ba
push str.EstablishStorage:_dissimilar_from_cache_n
call fcn.0047e3e0
add esp, 4
test edi, edi
je 0x49810f
mov eax, dword [ebx + 0x2c]
push eax
call dword [eax + 0x40]
mov edi, eax
push edi
push esi
call fcn.00497ed0
add esp, 0xc
test eax, eax
jne 0x4980e7
mov eax, dword [edi + 0xc]
test eax, eax
je 0x498132
push 0
push eax
call fcn.0047e830
add esp, 8
cmp dword [edi], 0
jne 0x4980f6
push 0
call fcn.0044b1f0
add esp, 4
mov ecx, dword [edi]
mov eax, dword [ebx + 0x2c]
push ecx
push eax
call dword [eax + 0x30]
add esp, 8
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0x54
ret
xor ebp, ebp
mov eax, dword [0x6bf498]
mov edx, dword [eax]
push 0x10
push 1
push eax
call dword [edx + 4]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x49813b
call fcn.00454770
test eax, eax
jne 0x498111
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x54
ret
mov eax, dword [esi + 0x78]
test eax, eax
je 0x498179
mov ecx, dword [esi + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0x18], eax
cmp dword [esi + 0x28], 3
lea ebp, [esp + 0x14]
mov dword [esp + 0x1c], ecx
jne 0x49816c
mov eax, dword [esi + 0x34]
test eax, eax
jbe 0x49816c
mov eax, 1
jmp 0x49816e
xor eax, eax
mov edx, dword [esi + 0x54]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov eax, dword [esi + 0x28]
test eax, eax
lea eax, [esp + 0xc]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x28], 0x498040
mov dword [esp + 0x2c], eax
je 0x4981f0
movzx edx, byte [esi + 0x2d]
movzx ecx, byte [esi + 0x2c]
movzx eax, byte [esi + 0x12]
mov dword [esp + 0x34], edx
mov edx, dword [esi + 8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x58]
mov dword [esp + 0x40], edx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x74]
mov dword [esp + 0x48], ecx
mov ecx, dword [esi + 0x30]
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], ecx
call fcn.005269c0
jmp 0x498259
mov eax, dword [esi + 8]
movzx edx, word [esi + 0x2e]
movzx ecx, byte [esi + 0x12]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x74]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 0x4c], eax
mov al, byte [esi + 0x2d]
test al, al
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
je 0x498247
cmp dword [esi + 0x20], 1
movzx eax, word [esi + 0x10]
jle 0x498237
imul eax, ecx
lea ecx, [eax + eax]
xor eax, eax
cmp edx, ecx
setge al
mov dword [esp + 0x48], eax
jmp 0x49824f
mov dword [esp + 0x48], 0
lea ecx, [esp + 0x28]
push ecx
call fcn.00526b80
add esp, 4
test eax, eax
mov dword [ebx + 0x2c], eax
jne 0x498288
mov eax, dword [0x6bf498]
mov edx, dword [eax]
mov esi, dword [edi + 0xc]
push edi
push eax
call dword [edx + 8]
add esp, 8
test esi, esi
je 0x498132
push 0
push esi
call fcn.0047e830
add esp, 8
mov eax, dword [ebx + 0x2c]
push edi
push eax
call dword [eax + 0x3c]
mov eax, dword [ebx + 0x2c]
add esp, 8
call fcn.00497ca0
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0x54
ret
mov eax, dword [0x695c98]
test eax, eax
je 0x4982bc
call fcn.00442880
cmp eax, fcn.00497d50
je 0x4982c6
push 0
call fcn.0044b1f0
add esp, 4
mov eax, dword [0x695d10]
test eax, eax
jne 0x4982d9
push 0
call fcn.0044b1f0
add esp, 4
mov edi, dword [ebx + 0x2c]
cmp edi, dword [0x695d10]
je 0x49830f
test edi, edi
je 0x4982ed
call fcn.00497ce0
mov eax, dword [0x695d10]
mov dword [ebx + 0x2c], eax
mov eax, dword [0x695d10]
call fcn.00497ca0
mov eax, dword [0x695d2c]
test eax, eax
je 0x498325
push str.EstablishStorage:_share_allocator_n
jmp 0x49831d
mov eax, dword [0x695d2c]
test eax, eax
je 0x498325
push str.EstablishStorage:_easy_way_n
call fcn.0047e3e0
add esp, 4
mov eax, dword [0x695d14]
test eax, eax
je 0x498354
mov ecx, dword [ebx + 0x20]
mov edx, dword [ecx + 0x7c]
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x498354
call fcn.004546e0
mov eax, dword [ebx + 0x2c]
push eax
call dword [eax + 0x40]
mov eax, dword [eax]
mov ecx, dword [ebx + 0x2c]
push eax
push ecx
call dword [ecx + 0x30]
add esp, 0xc
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0x54
ret