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

Disassembly:
push 0xffffffffffffffff
push 0x5233b8a
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f3c3c]
xor eax, esp
push eax
lea eax, [esp + 0x2c]
mov dword fs:[0], eax
mov edi, ecx
xor esi, esi
mov dword [esp + 0x14], esi
cmp dword [esp + 0x54], esi
jne 0x51ac04d
push str._ERROR:
push 0xff
push 0x554
push str..MetaUtilityMetaDlWrapper.cpp
lea ecx, [esp + 0x28]
call fcn.051ae270
mov dword [esp + 0x34], esi
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
push esi
push str.CMetaDlWrapper::FillMemberFieldByOffsetInternal
push ecx
push str.__d___s:_dbParser_0x_p_
push edx
push eax
call fcn.051ae2d0
add esp, 0x18
mov dword [esp + 0x34], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.051ae2c0
mov eax, 0xfffffc18
jmp 0x51ac4e7
mov ebx, dword [esp + 0x3c]
cmp ebx, esi
je 0x51ac477
cmp dword [esp + 0x40], esi
jbe 0x51ac477
mov ebp, dword [esp + 0x50]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x58]
push ecx
push ebp
call fcn.051a9110
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
lea edx, [ecx + esi]
add esp, 0xc
cmp edx, dword [esp + 0x40]
jbe 0x51ac120
push str._ERROR:
push 0xff
push 0x56d
push str..MetaUtilityMetaDlWrapper.cpp
lea ecx, [esp + 0x28]
call fcn.051ae270
mov ecx, eax
mov dword [esp + 0x34], 3
mov eax, dword [esp + 0x54]
push eax
mov dword [esp + 0x18], 4
call fcn.051a91d0
mov edx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x54]
push esi
push eax
push edx
mov edx, dword [edi + 4]
push eax
mov eax, dword [esp + 0x68]
push eax
mov eax, dword [edi + 8]
push edx
push str.__d__FillMemberField__:_exceed_output_buffer____s_____6s__s____s_input___offset__lu_size_in__lu_____buf_out_len__lu_.
push eax
push ecx
call fcn.051ae2d0
add esp, 0x30
mov dword [esp + 0x34], 0xffffffff
mov eax, 4
mov dword [esp + 0x14], eax
and eax, 0xfffffffb
lea ecx, [esp + 0x18]
mov dword [esp + 0x14], eax
call fcn.051ae2c0
mov eax, 7
jmp 0x51ac4e7
mov edx, dword [esp + 0x54]
push edx
call fcn.051a9190
add esp, 4
mov byte [esp + 0x40], al
test al, al
je 0x51ac15f
cmp ecx, 2
jne 0x51ac147
mov ecx, ebp
call fcn.050190e0
mov word [ebx + esi], ax
jmp 0x51ac18a
cmp ecx, 1
mov ecx, ebp
jne 0x51ac158
call fcn.050190a0
mov byte [ebx + esi], al
jmp 0x51ac18a
call fcn.05019130
jmp 0x51ac187
cmp ecx, 2
jne 0x51ac171
mov ecx, ebp
call fcn.050190e0
mov word [ebx + esi], ax
jmp 0x51ac18a
cmp ecx, 1
mov ecx, ebp
jne 0x51ac182
call fcn.050190a0
mov byte [ebx + esi], al
jmp 0x51ac18a
call fcn.05019130
mov dword [ebx + esi], eax
cmp byte [esp + 0x40], 0
mov eax, dword [esp + 0x3c]
push 0x52c722a
lea ecx, [esp + 0x1c]
push 1
je 0x51ac2f6
cmp eax, 2
jne 0x51ac219
push 0x5a3
push str..MetaUtilityMetaDlWrapper.cpp
call fcn.051ae270
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], 4
mov ecx, ebp
call fcn.050190e0
movzx eax, ax
mov ecx, ebp
mov dword [esp + 0x40], eax
call fcn.050190e0
mov ecx, dword [esp + 0x54]
push ecx
movzx edx, ax
call fcn.051a91d0
movzx ecx, word [ebx + esi]
push 2
push 2
push esi
movzx esi, word [esp + 0x50]
push esi
movzx edx, dx
push edx
mov edx, dword [esp + 0x64]
push eax
push ecx
push ecx
mov ecx, dword [esp + 0x6c]
push ecx
push eax
mov eax, dword [edi + 4]
push edx
mov edx, dword [esp + 0x6c]
push eax
push str.__d__FillMemberField__:__s_____6s__s_hu_0x_04X________s_input_hu_0x_04X___offset__d___align__d___size__d_.
jmp 0x51ac455
cmp eax, 1
jne 0x51ac28a
push 0x5b3
push str..MetaUtilityMetaDlWrapper.cpp
call fcn.051ae270
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], 5
mov ecx, ebp
call fcn.050190a0
mov ecx, ebp
mov byte [esp + 0x40], al
call fcn.050190a0
mov dl, al
mov eax, dword [esp + 0x54]
push eax
call fcn.051a91d0
movzx ecx, byte [ebx + esi]
push 1
push 1
push esi
movzx esi, byte [esp + 0x50]
push esi
movzx edx, dl
push edx
mov edx, dword [esp + 0x64]
push eax
push ecx
push ecx
mov ecx, dword [esp + 0x6c]
push ecx
push eax
mov eax, dword [edi + 4]
push edx
mov edx, dword [esp + 0x6c]
push eax
push str.__d__FillMemberField__:__s_____6s__s_hu_0x_02X________s_input_hu_0x_02X___offset__d___align__d___size__d_.
jmp 0x51ac455
push 0x5c3
push str..MetaUtilityMetaDlWrapper.cpp
call fcn.051ae270
mov dword [esp + 0x50], eax
mov dword [esp + 0x34], 6
mov ecx, ebp
call fcn.05019130
mov ecx, ebp
mov dword [esp + 0x40], eax
call fcn.05019130
mov ecx, eax
mov eax, dword [esp + 0x54]
push eax
call fcn.051a91d0
mov edx, dword [esp + 0x40]
mov ebx, dword [ebx + esi]
push edx
push edx
mov edx, dword [esp + 0x4c]
push esi
push edx
mov edx, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x60]
push eax
push ebx
push ebx
push ecx
push eax
mov eax, dword [edi + 4]
push edx
mov edx, dword [esp + 0x80]
push eax
push str.__d__FillMemberField__:__s_____6s__s_u_0x_08X________s_input_u_0x_08X___offset__d___align__d___size__d_.
jmp 0x51ac455
cmp eax, 2
jne 0x51ac376
push 0x5d7
push str..MetaUtilityMetaDlWrapper.cpp
call fcn.051ae270
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], 7
mov ecx, ebp
call fcn.050190e0
movzx eax, ax
mov ecx, ebp
mov dword [esp + 0x40], eax
call fcn.050190e0
mov ecx, dword [esp + 0x54]
push ecx
movzx edx, ax
call fcn.051a91d0
movzx ecx, word [ebx + esi]
push 2
push 2
push esi
movzx esi, word [esp + 0x50]
push esi
movsx edx, dx
push edx
push eax
movzx edx, cx
push edx
mov edx, dword [esp + 0x68]
movsx ecx, cx
push ecx
mov ecx, dword [edi + 4]
push edx
mov edx, dword [edi + 8]
push eax
mov eax, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x6c]
push ecx
push str.__d__FillMemberField__:__s_____6s__s_hd_0x_04X________s_input_hd_0x_04X___offset__d___align__d___size__d_.
push edx
push eax
jmp 0x51ac45a
cmp eax, 1
jne 0x51ac3ee
push 0x5e7
push str..MetaUtilityMetaDlWrapper.cpp
call fcn.051ae270
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], 8
mov ecx, ebp
call fcn.050190a0
mov ecx, ebp
mov byte [esp + 0x40], al
call fcn.050190a0
mov edx, dword [esp + 0x54]
push edx
mov cl, al
call fcn.051a91d0
movzx edx, byte [esp + 0x44]
mov bl, byte [ebx + esi]
push 1
push 1
push esi
push edx
movsx ecx, cl
push ecx
push eax
movzx edx, bl
push edx
mov edx, dword [esp + 0x68]
movsx ecx, bl
push ecx
mov ecx, dword [edi + 4]
push edx
mov edx, dword [edi + 8]
push eax
mov eax, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x6c]
push ecx
push str.__d__FillMemberField__:__s_____6s__s_hd_0x_02X________s_input_hd_0x_02X___offset__d___align__d___size__d_.
push edx
push eax
jmp 0x51ac45a
push 0x5f7
push str..MetaUtilityMetaDlWrapper.cpp
call fcn.051ae270
mov dword [esp + 0x50], eax
mov dword [esp + 0x34], 9
mov ecx, ebp
call fcn.05019130
mov ecx, ebp
mov dword [esp + 0x40], eax
call fcn.05019130
mov edx, dword [esp + 0x54]
push edx
mov ecx, eax
call fcn.051a91d0
mov edx, dword [esp + 0x40]
mov ebx, dword [ebx + esi]
push edx
push edx
mov edx, dword [esp + 0x4c]
push esi
push edx
mov edx, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x60]
push eax
push ebx
push ebx
push ecx
push eax
mov eax, dword [edi + 4]
push edx
mov edx, dword [esp + 0x80]
push eax
push str.__d__FillMemberField__:__s_____6s__s_d_0x_08X________s_input_d_0x_08X___offset__d___align__d___size__d_.
mov ecx, dword [edi + 8]
push ecx
push edx
call fcn.051ae2d0
add esp, 0x40
mov dword [esp + 0x34], 0xffffffff
lea ecx, [esp + 0x18]
call fcn.051ae2c0
xor eax, eax
jmp 0x51ac4e7
push str._ERROR:
push 0xff
push 0x55c
push str..MetaUtilityMetaDlWrapper.cpp
lea ecx, [esp + 0x28]
call fcn.051ae270
mov esi, 1
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x50]
push ebx
push edx
mov edx, dword [edi + 4]
push ecx
mov ecx, dword [edi + 8]
push edx
push str.__d__FillMemberField__:__s___s:_arguments_are_invalid___buf_out_0x_08X___u_.
push ecx
push eax
mov dword [esp + 0x34], esi
call fcn.051ae2d0
add esp, 0x20
mov dword [esp + 0x34], 0xffffffff
mov eax, esi
mov dword [esp + 0x14], eax
and eax, 0xfffffffe
lea ecx, [esp + 0x18]
mov dword [esp + 0x14], eax
call fcn.051ae2c0
mov eax, esi
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 0x1c