Function at 0x503b87
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x21c
mov eax, dword [0x5c4e68]
xor eax, esp
mov dword [esp + 0x218], eax
push ebx
push esi
push edi
mov esi, 0x103
push esi
xor edi, edi
lea eax, [esp + 0x15]
push edi
push eax
mov byte [esp + 0x1c], 0
call fcn.005117f0
add esp, 0xc
push esi
lea eax, [esp + 0x11d]
push edi
push eax
mov byte [esp + 0x124], 0
call fcn.005117f0
add esp, 0xc
cmp dword [0x6e2ac4], edi
jne 0x503eba
mov esi, str.zLib.dll
push esi
push 0x5304c0
mov ebx, 0x104
lea eax, [esp + 0x120]
push ebx
push eax
call fcn.004c53b7
add esp, 0x10
push esi
push edi
push edi
call fcn.0048a119
pop ecx
pop ecx
push eax
mov edi, 0x533dd4
push edi
lea eax, [esp + 0x1c]
push ebx
push eax
call fcn.004c53b7
add esp, 0x14
push 1
lea eax, [esp + 0x14]
push eax
push eax
lea eax, [esp + 0x124]
push eax
call fcn.0042ab09
add esp, 0x10
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
test ebx, ebx
jne 0x503d2d
push esi
push eax
push eax
call fcn.00489f49
pop ecx
pop ecx
push eax
push edi
mov ebx, 0x104
lea eax, [esp + 0x124]
push ebx
push eax
call fcn.004c53b7
add esp, 0x14
push esi
push 0
push 0
call fcn.0048a119
pop ecx
pop ecx
push eax
push edi
lea eax, [esp + 0x1c]
push ebx
push eax
call fcn.004c53b7
add esp, 0x14
push 1
lea eax, [esp + 0x14]
push eax
push eax
lea eax, [esp + 0x124]
push eax
call fcn.0042ab09
add esp, 0x10
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
test ebx, ebx
jne 0x503d2d
push esi
push eax
push eax
call fcn.00489f49
pop ecx
pop ecx
push eax
push edi
lea eax, [esp + 0x1c]
push 0x104
push eax
call fcn.004c53b7
add esp, 0x14
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
test ebx, ebx
jne 0x503d20
lea edi, [esp + 0x10]
call fcn.0042ad00
test eax, eax
mov eax, edi
je 0x503d0c
push str._GetLastError_
push eax
push str.:7:InitGZDLL___FAILED:_LoadLibrary___s___FAILED:_The_DLL_exists_but_could_not_be_loaded:__s
call fcn.004265da
add esp, 0xc
jmp 0x503d19
push eax
push str.:7:InitGZDLL___FAILED:_LoadLibrary___s___FAILED:_The_DLL_could_not_be_found_
call fcn.004265da
pop ecx
pop ecx
xor eax, eax
jmp 0x503ebd
push esi
push str.:7:InitGZDLL___had_to_load__s_directly_from_the_source_
call fcn.004265da
pop ecx
pop ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.gzopen
push ebx
call esi
test eax, eax
mov dword [0x6e2aa4], eax
jne 0x503d4f
push str.:7:InitGZDLL___FAILED:_gzopen___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.gzread
push ebx
call esi
test eax, eax
mov dword [0x6e2aa8], eax
jne 0x503d6b
push str.:7:InitGZDLL___FAILED:_gzread___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.gzwrite
push ebx
call esi
test eax, eax
mov dword [0x6e2aac], eax
jne 0x503d87
push str.:7:InitGZDLL___FAILED:_gzwrite___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.gzclose
push ebx
call esi
test eax, eax
mov dword [0x6e2ab0], eax
jne 0x503da3
push str.:7:InitGZDLL___FAILED:_gzclose___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.gzseek
push ebx
call esi
test eax, eax
mov dword [0x6e2ab4], eax
jne 0x503dbf
push str.:7:InitGZDLL___FAILED:_gzseek___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.gzputs
push ebx
call esi
test eax, eax
mov dword [0x5d805c], eax
jne 0x503ddb
push str.:7:InitGZDLL___FAILED:_gzputs___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.gzgets
push ebx
call esi
test eax, eax
mov dword [0x5d8064], eax
jne 0x503df7
push str.:7:InitGZDLL___FAILED:_gzgets___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.gzputc
push ebx
call esi
test eax, eax
mov dword [0x5d77dc], eax
jne 0x503e13
push str.:7:InitGZDLL___FAILED:_gzputc___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.gzgetc
push ebx
call esi
test eax, eax
mov dword [0x5d8060], eax
jne 0x503e2f
push str.:7:InitGZDLL___FAILED:_gzgetc___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.compress2
push ebx
call esi
test eax, eax
mov dword [0x5d8068], eax
jne 0x503e4b
push str.:7:InitGZDLL___FAILED:_compress2___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.compressBound
push ebx
call esi
test eax, eax
mov dword [0x5d7d94], eax
jne 0x503e67
push str.:7:InitGZDLL___FAILED:_compressBound___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.uncompress
push ebx
call esi
test eax, eax
mov dword [0x5d8058], eax
jne 0x503e83
push str.:7:InitGZDLL___FAILED:_uncompress___could_not_be_loaded.
call fcn.004265da
pop ecx
push str.gzprintf
push ebx
call esi
test eax, eax
mov dword [0x6e2ab8], eax
jne 0x503e9f
push str.:7:InitGZDLL___FAILED:_gzprintf___could_not_be_loaded.
call fcn.004265da
pop ecx
lea eax, [esp + 0x10]
push eax
mov ecx, 0x104
mov eax, 0x6e2ac8
mov dword [0x6e2ac4], ebx
call fcn.004c3b66
pop ecx
xor eax, eax
inc eax
mov ecx, dword [esp + 0x224]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0051291c
mov esp, ebp
pop ebp
ret