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

Disassembly:
sub esp, 0x2c
push ebx
mov ebx, dword [esp + 0x40]
xor eax, eax
push ebp
mov ebp, dword [esp + 0x40]
inc eax
push esi
mov esi, dword [esp + 0x40]
push edi
mov edi, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x40]
xor edx, edx
mov dword [ecx], edx
push ebx
push ebp
mov dword [eax], edx
mov dword [esp + 0x38], ecx
mov ecx, edi
mov byte [esp + 0x1b], dl
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x3c], edx
mov dword [edi], edx
mov edx, eax
push esi
mov dword [esp + 0x2c], edi
call fcn.10062c4b
mov dword [esi + 0x17c], eax
test eax, eax
jne 0x1005d779
mov edx, dword [esp + 0x40]
lea eax, [esi + 0x78]
lea ecx, [esi + 0xa4]
push eax
push ecx
mov edx, dword [edx]
mov ecx, dword [edi]
call fcn.10063155
test eax, eax
je 0x1005d205
mov dword [esi + 0x17c], 0x5c
jmp 0x1005d779
mov ecx, ebx
call fcn.10063078
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x1005d223
mov dword [esi + 0x17c], 0x53
jmp 0x1005d779
lea edi, [ebp + 0x21]
cmp dword [esi + 0x17c], 0
jne 0x1005d6cd
mov eax, edi
sub eax, ebp
add eax, 0xc
cmp eax, ebx
ja 0x1005d592
cmp edi, ebp
jb 0x1005d592
mov ecx, edi
call fcn.10060863
mov ebx, eax
cmp ebx, 0x7fffffff
ja 0x1005d580
sub eax, ebp
add eax, 0xc
add eax, edi
cmp eax, dword [esp + 0x4c]
ja 0x1005d574
lea eax, [edi + 0xc]
add eax, ebx
cmp eax, ebp
jb 0x1005d574
mov ecx, edi
call fcn.1006074d
and dword [esp + 0x44], 0
mov edx, 0x1009b750
mov ecx, edi
mov ebp, eax
call fcn.10060972
test al, al
je 0x1005d31a
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x38]
push eax
mov edx, ebx
call fcn.1006052b
test eax, eax
jne 0x1005d550
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x38], eax
ja 0x1005d550
add ecx, dword [esp + 0x1c]
mov edx, ebp
push ebx
call fcn.10063081
add dword [esp + 0x18], ebx
push 3
pop eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
mov bl, byte [esp + 0x13]
cmp dword [esi + 0x18], 0
jne 0x1005d2f9
test eax, eax
jne 0x1005d2f9
mov ecx, edi
call fcn.10060695
test eax, eax
jne 0x1005d568
test bl, bl
jne 0x1005d5a2
mov ebp, dword [esp + 0x48]
mov ecx, edi
mov ebx, dword [esp + 0x4c]
lea edx, [ebx + ebp]
call fcn.100608d9
mov edi, eax
jmp 0x1005d226
mov edx, 0x1009b758
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d336
mov eax, dword [esp + 0x44]
mov bl, 1
mov byte [esp + 0x13], bl
jmp 0x1005d2e0
mov edx, str.PLTE
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d369
push ebx
mov edx, ebp
lea ecx, [esi + 0xa4]
call fcn.100639df
mov dword [esi + 0x17c], eax
test eax, eax
jne 0x1005d5a2
push 2
jmp 0x1005d2d3
mov edx, str.tRNS
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d39a
push ebx
mov edx, ebp
lea ecx, [esi + 0xa4]
call fcn.1006411a
mov dword [esi + 0x17c], eax
test eax, eax
jne 0x1005d5a2
jmp 0x1005d2d8
mov edx, str.bKGD
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d3ba
push ebx
lea ecx, [esi + 0x98]
mov edx, ebp
call fcn.10063a56
jmp 0x1005d387
mov edx, str.tEXt
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d3e4
cmp dword [esi + 0x28], 0
je 0x1005d2d8
push ebx
lea ecx, [esi + 0x98]
mov edx, ebp
call fcn.10064015
jmp 0x1005d387
mov edx, str.zTXt
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d412
cmp dword [esi + 0x28], 0
je 0x1005d2d8
push ebx
push ebp
lea ecx, [esi + 0x98]
mov edx, esi
call fcn.100641d0
jmp 0x1005d387
mov edx, str.iTXt
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d440
cmp dword [esi + 0x28], 0
je 0x1005d2d8
push ebx
push ebp
lea ecx, [esi + 0x98]
mov edx, esi
call fcn.10063d97
jmp 0x1005d387
mov edx, str.tIME
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d463
push ebx
lea ecx, [esi + 0x98]
mov edx, ebp
call fcn.100640cc
jmp 0x1005d387
mov edx, str.pHYs
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d486
push ebx
lea ecx, [esi + 0x98]
mov edx, ebp
call fcn.10063f87
jmp 0x1005d387
mov edx, str.gAMA
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d4a9
push ebx
lea ecx, [esi + 0x98]
mov edx, ebp
call fcn.10063c52
jmp 0x1005d387
mov edx, str.cHRM
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d4cc
push ebx
lea ecx, [esi + 0x98]
mov edx, ebp
call fcn.10063b09
jmp 0x1005d387
mov edx, str.sRGB
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d4ef
push ebx
lea ecx, [esi + 0x98]
mov edx, ebp
call fcn.10063ff3
jmp 0x1005d387
mov edx, str.iCCP
mov ecx, edi
call fcn.10060972
test al, al
je 0x1005d513
push ebx
push ebp
lea ecx, [esi + 0x98]
mov edx, esi
call fcn.10063c95
jmp 0x1005d387
cmp dword [esi + 0x1c], 0
jne 0x1005d524
mov ecx, edi
call fcn.10060603
test al, al
je 0x1005d55c
xor eax, eax
inc eax
cmp dword [esi + 0x2c], 0
mov dword [esp + 0x44], eax
je 0x1005d2dc
mov ebx, dword [esp + 0x24]
push edi
lea edx, [ebx + 0x5b]
lea ecx, [ebx + 0x58]
lea edx, [esi + edx*4]
lea ecx, [esi + ecx*4]
call fcn.1006060c
jmp 0x1005d387
mov dword [esi + 0x17c], 0x5f
jmp 0x1005d5a2
mov dword [esi + 0x17c], 0x45
jmp 0x1005d5a2
mov dword [esi + 0x17c], 0x39
jmp 0x1005d5a2
mov dword [esi + 0x17c], 0x40
jmp 0x1005d5a2
cmp dword [esi + 0x20], 0
jne 0x1005d5a2
mov dword [esi + 0x17c], 0x3f
jmp 0x1005d5a2
cmp dword [esi + 0x20], 0
jne 0x1005d5a2
mov dword [esi + 0x17c], 0x1e
cmp dword [esi + 0x17c], 0
jne 0x1005d6cd
lea ebp, [esi + 0xa4]
cmp dword [ebp], 3
jne 0x1005d5d3
cmp dword [esi + 0xac], 0
jne 0x1005d5d3
mov dword [esi + 0x17c], 0x6a
jmp 0x1005d6d3
mov ecx, ebp
call fcn.10062749
cmp dword [esi + 0xa0], 0
mov ebp, dword [esp + 0x20]
jne 0x1005d5fd
mov ecx, dword [ebp]
push eax
mov eax, dword [esp + 0x44]
mov edx, dword [eax]
call fcn.10062774
mov ebx, eax
jmp 0x1005d6a7
mov ebp, dword [ebp]
mov edi, eax
mov eax, dword [esp + 0x40]
push edi
lea ecx, [ebp + 7]
mov ebx, dword [eax]
shr ecx, 3
lea edx, [ebx + 7]
shr edx, 3
call fcn.10062774
mov dword [esp + 0x14], eax
lea ecx, [ebp + 3]
cmp ebp, 4
jbe 0x1005d636
push edi
shr ecx, 3
call fcn.10062774
add dword [esp + 0x14], eax
lea ecx, [ebp + 3]
lea edx, [ebx + 3]
shr ecx, 2
push edi
shr edx, 3
call fcn.10062774
add dword [esp + 0x14], eax
lea eax, [ebp + 1]
cmp ebp, 2
jbe 0x1005d669
mov ecx, eax
lea edx, [ebx + 3]
push edi
shr edx, 2
shr ecx, 2
call fcn.10062774
add dword [esp + 0x14], eax
lea eax, [ebp + 1]
shr eax, 1
lea edx, [ebx + 1]
push edi
shr edx, 2
mov ecx, eax
call fcn.10062774
add dword [esp + 0x14], eax
cmp ebp, 1
jbe 0x1005d695
lea edx, [ebx + 1]
mov ecx, ebp
push edi
shr edx, 1
shr ecx, 1
call fcn.10062774
add dword [esp + 0x14], eax
shr ebx, 1
mov ecx, ebp
push edi
mov edx, ebx
call fcn.10062774
mov ebx, dword [esp + 0x14]
add ebx, eax
mov edi, dword [esp + 0x1c]
lea edx, [esp + 0x2c]
push esi
push dword [esp + 0x1c]
lea ecx, [esp + 0x30]
push edi
push ebx
call fcn.1006503d
mov dword [esi + 0x17c], eax
lea ebp, [esi + 0xa4]
jmp 0x1005d6db
lea ebp, [esi + 0xa4]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
cmp dword [esi + 0x17c], 0
jne 0x1005d6f4
cmp dword [esp + 0x2c], ebx
je 0x1005d6f4
mov dword [esi + 0x17c], 0x5b
mov ecx, edi
call fcn.10062740
cmp dword [esi + 0x17c], 0
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x20]
jne 0x1005d738
mov edx, dword [edi]
mov ecx, dword [ebx]
push ebp
call fcn.10062763
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.10063078
mov ebp, dword [esp + 0x30]
mov dword [ebp], eax
test eax, eax
jne 0x1005d73c
mov dword [esi + 0x17c], 0x53
jmp 0x1005d73c
mov ebp, dword [esp + 0x30]
cmp dword [esi + 0x17c], 0
jne 0x1005d770
push dword [esp + 0x34]
mov ecx, dword [ebp]
xor edx, edx
call fcn.10063099
mov edx, dword [esp + 0x28]
lea eax, [esi + 0x98]
mov ecx, dword [ebp]
push eax
push dword [edi]
push dword [ebx]
call fcn.100635a5
mov dword [esi + 0x17c], eax
mov ecx, dword [esp + 0x28]
call fcn.10062740
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret 0x10