Function at 0x4f3da0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xb8
mov eax, dword [0x5f13cc]
xor eax, esp
mov dword [esp + 0xb4], eax
push ebx
push ebp
mov ebp, dword [esp + 0xc4]
test ebp, ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], esi
je 0x4f5064
mov al, byte [ebp + 0x12c]
cmp al, 8
jae 0x4f3e59
movzx ebx, al
mov eax, dword [ebp + 0x50]
mov edi, 8
sub edi, ebx
test eax, eax
je 0x4f3dfa
push edi
lea ecx, [esi + ebx + 0x20]
push ecx
push ebp
call eax
add esp, 0xc
jmp 0x4f3e08
push ebp
mov ecx, str.Call_to_NULL_read_function
call fcn.004f99a0
add esp, 4
add esi, 0x20
push edi
push esi
mov edx, ebx
mov byte [ebp + 0x12c], 8
call fcn.004f90b0
add esp, 8
test eax, eax
je 0x4f3e4d
cmp ebx, 4
jae 0x4f3e3f
add edi, 0xfffffffc
push edi
push esi
mov edx, ebx
call fcn.004f90b0
add esp, 8
test eax, eax
mov ecx, str.Not_a_PNG_file
jne 0x4f3e44
mov ecx, str.PNG_file_corrupted_by_ASCII_conversion
push ebp
call fcn.004f99a0
add esp, 4
cmp ebx, 3
jae 0x4f3e59
or dword [ebp + 0x68], 0x1000
mov al, 0x44
mov byte [esp + 0x66], al
mov byte [esp + 0x25], al
mov byte [esp + 0x47], al
mov byte [esp + 0x87], al
mov al, 0x46
mov dl, 0x49
mov bl, 0x41
mov cl, 0x54
mov byte [esp + 0x95], al
mov byte [esp + 0x96], al
mov al, 0x73
mov byte [esp + 0x64], dl
mov byte [esp + 0x65], 0x48
mov byte [esp + 0x67], 0x52
mov byte [esp + 0x68], 0
mov byte [esp + 0x24], dl
mov byte [esp + 0x26], bl
mov byte [esp + 0x27], cl
mov byte [esp + 0x28], 0
mov byte [esp + 0x44], dl
mov byte [esp + 0x45], 0x45
mov byte [esp + 0x46], 0x4e
mov byte [esp + 0x48], 0
mov byte [esp + 0x2c], 0x50
mov byte [esp + 0x2d], 0x4c
mov byte [esp + 0x2e], cl
mov byte [esp + 0x2f], 0x45
mov byte [esp + 0x30], 0
mov byte [esp + 0x84], 0x62
mov byte [esp + 0x85], 0x4b
mov byte [esp + 0x86], 0x47
mov byte [esp + 0x88], 0
mov byte [esp + 0x54], 0x63
mov byte [esp + 0x55], 0x48
mov byte [esp + 0x56], 0x52
mov byte [esp + 0x57], 0x4d
mov byte [esp + 0x58], 0
mov byte [esp + 0xa4], 0x67
mov byte [esp + 0xa5], bl
mov byte [esp + 0xa6], 0x4d
mov byte [esp + 0xa7], bl
mov byte [esp + 0xa8], 0
mov byte [esp + 0x34], 0x68
mov byte [esp + 0x35], dl
mov byte [esp + 0x36], 0x53
mov byte [esp + 0x37], cl
mov byte [esp + 0x38], 0
mov byte [esp + 0x6c], 0x69
mov byte [esp + 0x6d], 0x43
mov byte [esp + 0x6e], 0x43
mov byte [esp + 0x6f], 0x50
mov byte [esp + 0x70], 0
mov byte [esp + 0x94], 0x6f
mov byte [esp + 0x97], al
mov byte [esp + 0x98], 0
mov byte [esp + 0x74], 0x70
mov byte [esp + 0x75], 0x43
mov byte [esp + 0x76], bl
mov byte [esp + 0x77], 0x4c
mov byte [esp + 0x78], 0
mov byte [esp + 0x3c], 0x70
mov byte [esp + 0x3d], 0x48
mov byte [esp + 0x3e], 0x59
mov byte [esp + 0x3f], al
mov byte [esp + 0x40], 0
mov byte [esp + 0x4c], al
mov byte [esp + 0x4d], 0x42
mov byte [esp + 0x4e], dl
mov byte [esp + 0x4f], cl
mov byte [esp + 0x50], 0
mov byte [esp + 0xb4], al
mov byte [esp + 0xb5], 0x43
mov byte [esp + 0xb6], bl
mov byte [esp + 0xb7], 0x4c
mov byte [esp + 0xb8], 0
mov byte [esp + 0x7c], al
mov byte [esp + 0x7d], 0x50
mov byte [esp + 0x7e], 0x4c
mov byte [esp + 0x7f], cl
mov byte [esp + 0x80], 0
mov byte [esp + 0x5c], al
mov al, 0x74
mov bl, 0x58
mov byte [esp + 0x5d], 0x52
mov byte [esp + 0x5e], 0x47
mov byte [esp + 0x5f], 0x42
mov byte [esp + 0x60], 0
mov byte [esp + 0x8c], al
mov byte [esp + 0x8d], 0x45
mov byte [esp + 0x8e], bl
mov byte [esp + 0x8f], al
mov byte [esp + 0x90], 0
mov byte [esp + 0x9c], al
mov byte [esp + 0x9d], dl
mov byte [esp + 0x9e], 0x4d
mov byte [esp + 0x9f], 0x45
mov byte [esp + 0xa0], 0
mov byte [esp + 0xac], al
mov byte [esp + 0xad], 0x52
mov byte [esp + 0xae], 0x4e
mov byte [esp + 0xaf], 0x53
mov byte [esp + 0xb0], 0
mov byte [esp + 0xbc], 0x7a
mov byte [esp + 0xbd], cl
mov byte [esp + 0xbe], bl
mov byte [esp + 0xbf], al
mov byte [esp + 0xc0], 0
add ebp, 0x11c
lea ebx, [ebx]
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x50]
test eax, eax
je 0x4f40da
push 4
lea edx, [esp + 0x24]
push edx
push esi
call eax
add esp, 0xc
jmp 0x4f40e8
push esi
mov ecx, str.Call_to_NULL_read_function
call fcn.004f99a0
add esp, 4
mov eax, dword [esp + 0x20]
movzx edx, byte [esp + 0x22]
movzx ecx, al
shl ecx, 8
movzx eax, ah
add ecx, eax
movzx eax, byte [esp + 0x23]
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, eax
cmp ecx, 0x7fffffff
mov dword [esp + 0x18], ecx
jbe 0x4f4125
push esi
mov ecx, str.PNG_unsigned_integer_out_of_range.
call fcn.004f99a0
add esp, 4
mov ebx, 4
mov edi, ebp
mov dword [esi + 0x110], 0
call fcn.00504130
mov eax, ebx
lea ecx, [esp + 0x24]
mov edx, ebp
mov esi, eax
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4159
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4145
test eax, eax
je 0x4f41b6
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f41a8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f41b6
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f41a8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f41b6
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f41a8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f41b6
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x4f41b6
test edi, edi
mov eax, 1
jg 0x4f41b8
or eax, 0xffffffff
jmp 0x4f41b8
xor eax, eax
test eax, eax
jne 0x4f41cf
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x68]
test al, 8
je 0x4f41cf
or eax, 0x2000
mov dword [ecx + 0x68], eax
mov eax, esi
lea ecx, [esp + 0x64]
mov edx, ebp
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f41eb
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f41d7
test eax, eax
je 0x4f4248
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f423a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4248
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f423a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4248
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f423a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4248
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x4f4248
test edi, edi
mov eax, 1
jg 0x4f424a
or eax, 0xffffffff
jmp 0x4f424a
xor eax, eax
test eax, eax
jne 0x4f4269
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x18]
push edx
call fcn.00504800
add esp, 8
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x44]
mov edx, ebp
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4285
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4271
test eax, eax
je 0x4f42e2
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f42d4
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f42e2
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f42d4
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f42e2
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f42d4
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f42e2
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x4f42e2
test edi, edi
mov eax, 1
jg 0x4f42e4
or eax, 0xffffffff
jmp 0x4f42e4
xor eax, eax
test eax, eax
jne 0x4f42fa
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
call fcn.00504b30
jmp 0x4f40c0
mov ecx, dword [esp + 0x14]
push ebp
call fcn.004f98b0
add esp, 4
test eax, eax
mov edx, ebp
mov eax, esi
je 0x4f44dd
lea ecx, [esp + 0x24]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f432b
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4317
test eax, eax
je 0x4f4388
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f437a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4388
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f437a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4388
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f437a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4388
movzx ecx, byte [ecx]
movzx edi, byte [edx]
sub edi, ecx
je 0x4f4388
test edi, edi
mov eax, 1
jg 0x4f438a
or eax, 0xffffffff
jmp 0x4f438a
xor eax, eax
test eax, eax
mov ecx, dword [esp + 0x14]
jne 0x4f4395
or dword [ecx + 0x68], esi
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push edx
push eax
call fcn.00506af0
add esp, 8
mov eax, esi
lea ecx, [esp + 0x2c]
mov edx, ebp
nop
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f43c4
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f43b0
test eax, eax
je 0x4f4421
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4413
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4421
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4413
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4421
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4413
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4421
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x4f4421
test edi, edi
mov eax, 1
jg 0x4f4423
or eax, 0xffffffff
jmp 0x4f4423
xor eax, eax
test eax, eax
jne 0x4f4434
mov eax, dword [esp + 0x14]
or dword [eax + 0x68], 2
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x24]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4454
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4440
test eax, eax
je 0x4f44b1
movzx esi, byte [ecx]
movzx edi, byte [edx]
sub edi, esi
jne 0x4f44a3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f44b1
movzx esi, byte [ecx]
movzx edi, byte [edx]
sub edi, esi
jne 0x4f44a3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f44b1
movzx esi, byte [ecx]
movzx edi, byte [edx]
sub edi, esi
jne 0x4f44a3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f44b1
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x4f44b1
test edi, edi
mov eax, 1
jg 0x4f44b3
or eax, 0xffffffff
jmp 0x4f44b3
xor eax, eax
test eax, eax
jne 0x4f40c0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x68]
test al, 1
jne 0x4f500d
push ecx
mov ecx, str.Missing_IHDR_before_IDAT
call fcn.004f99a0
add esp, 4
jmp 0x4f5064
lea ecx, [esp + 0x2c]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f44f5
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f44e1
test eax, eax
je 0x4f4552
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4544
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4552
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4544
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4552
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4544
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4552
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x4f4552
test edi, edi
mov eax, 1
jg 0x4f4554
or eax, 0xffffffff
jmp 0x4f4554
xor eax, eax
test eax, eax
jne 0x4f4572
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edx
call fcn.005049d0
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x24]
mov edx, ebp
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4594
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4580
test eax, eax
je 0x4f45f1
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f45e3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f45f1
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f45e3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f45f1
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f45e3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f45f1
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x4f45f1
test edi, edi
mov eax, 1
jg 0x4f45f3
or eax, 0xffffffff
jmp 0x4f45f3
xor eax, eax
test eax, eax
je 0x4f502a
mov eax, esi
lea ecx, [esp + 0x84]
mov edx, ebp
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f461a
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4606
test eax, eax
je 0x4f4677
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4669
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4677
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4669
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4677
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4669
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4677
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x4f4677
test edi, edi
mov eax, 1
jg 0x4f4679
or eax, 0xffffffff
jmp 0x4f4679
xor eax, eax
test eax, eax
jne 0x4f4697
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
call fcn.00505bb0
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x54]
mov edx, ebp
nop
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f46b4
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f46a0
test eax, eax
je 0x4f4711
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4703
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4711
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4703
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4711
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4703
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4711
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x4f4711
test edi, edi
mov eax, 1
jg 0x4f4713
or eax, 0xffffffff
jmp 0x4f4713
xor eax, eax
test eax, eax
jne 0x4f4731
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.00504e20
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0xa4]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4754
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4740
test eax, eax
je 0x4f47b1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f47a3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f47b1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f47a3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f47b1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f47a3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f47b1
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x4f47b1
test edi, edi
mov eax, 1
jg 0x4f47b3
or eax, 0xffffffff
jmp 0x4f47b3
xor eax, eax
test eax, eax
jne 0x4f47d1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
call fcn.00504b70
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x34]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f47f4
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f47e0
test eax, eax
je 0x4f4851
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4843
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4851
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4843
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4851
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4843
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4851
movzx ecx, byte [ecx]
movzx edi, byte [edx]
sub edi, ecx
je 0x4f4851
test edi, edi
mov eax, 1
jg 0x4f4853
or eax, 0xffffffff
jmp 0x4f4853
xor eax, eax
test eax, eax
jne 0x4f4871
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
call fcn.00505dc0
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x94]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4894
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4880
test eax, eax
je 0x4f48f1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f48e3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f48f1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f48e3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f48f1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f48e3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f48f1
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x4f48f1
test edi, edi
mov eax, 1
jg 0x4f48f3
or eax, 0xffffffff
jmp 0x4f48f3
xor eax, eax
test eax, eax
jne 0x4f4911
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00506010
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x74]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4934
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4920
test eax, eax
je 0x4f4991
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4983
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4991
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4983
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4991
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4983
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4991
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x4f4991
test edi, edi
mov eax, 1
jg 0x4f4993
or eax, 0xffffffff
jmp 0x4f4993
xor eax, eax
test eax, eax
jne 0x4f49b1
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.00506120
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0xb4]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f49d4
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f49c0
test eax, eax
je 0x4f4a31
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4a23
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4a31
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4a23
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4a31
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4a23
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4a31
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x4f4a31
test edi, edi
mov eax, 1
jg 0x4f4a33
or eax, 0xffffffff
jmp 0x4f4a33
xor eax, eax
test eax, eax
jne 0x4f4a52
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push ecx
call fcn.00506460
add esp, 8
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x3c]
mov edx, ebp
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4a74
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4a60
test eax, eax
je 0x4f4ad1
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4ac3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4ad1
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4ac3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4ad1
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4ac3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4ad1
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x4f4ad1
test edi, edi
mov eax, 1
jg 0x4f4ad3
or eax, 0xffffffff
jmp 0x4f4ad3
xor eax, eax
test eax, eax
jne 0x4f4af1
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00505f00
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x4c]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4b14
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4b00
test eax, eax
je 0x4f4b71
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4b63
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4b71
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4b63
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4b71
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4b63
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4b71
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x4f4b71
test edi, edi
mov eax, 1
jg 0x4f4b73
or eax, 0xffffffff
jmp 0x4f4b73
xor eax, eax
test eax, eax
jne 0x4f4b91
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
call fcn.00504cd0
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x5c]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4bb4
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4ba0
test eax, eax
je 0x4f4c11
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4c03
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4c11
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4c03
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4c11
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4c03
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4c11
movzx ecx, byte [ecx]
movzx edi, byte [edx]
sub edi, ecx
je 0x4f4c11
test edi, edi
mov eax, 1
jg 0x4f4c13
or eax, 0xffffffff
jmp 0x4f4c13
xor eax, eax
test eax, eax
jne 0x4f4c31
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edx
call fcn.005052a0
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x6c]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4c54
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4c40
test eax, eax
je 0x4f4cb1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4ca3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4cb1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4ca3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4cb1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4ca3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4cb1
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x4f4cb1
test edi, edi
mov eax, 1
jg 0x4f4cb3
or eax, 0xffffffff
jmp 0x4f4cb3
xor eax, eax
test eax, eax
jne 0x4f4cd2
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push ecx
push edx
call fcn.005054a0
add esp, 8
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x7c]
mov edx, ebp
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4cf4
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4ce0
test eax, eax
je 0x4f4d51
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4d43
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4d51
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4d43
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4d51
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4d43
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4d51
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x4f4d51
test edi, edi
mov eax, 1
jg 0x4f4d53
or eax, 0xffffffff
jmp 0x4f4d53
xor eax, eax
test eax, eax
jne 0x4f4d71
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.005056b0
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x8c]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4d94
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4d80
test eax, eax
je 0x4f4df1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4de3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4df1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4de3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4df1
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4de3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4df1
movzx edi, byte [edx]
movzx edx, byte [ecx]
sub edi, edx
je 0x4f4df1
test edi, edi
mov eax, 1
jg 0x4f4df3
or eax, 0xffffffff
jmp 0x4f4df3
xor eax, eax
test eax, eax
jne 0x4f4e11
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
call fcn.00506770
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0x9c]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4e34
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4e20
test eax, eax
je 0x4f4e91
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4e83
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4e91
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4e83
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4e91
movzx ebx, byte [ecx]
movzx edi, byte [edx]
sub edi, ebx
jne 0x4f4e83
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4e91
movzx ecx, byte [ecx]
movzx edi, byte [edx]
sub edi, ecx
je 0x4f4e91
test edi, edi
mov eax, 1
jg 0x4f4e93
or eax, 0xffffffff
jmp 0x4f4e93
xor eax, eax
test eax, eax
jne 0x4f4eb1
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
call fcn.00506660
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0xac]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4ed4
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4ec0
test eax, eax
je 0x4f4f31
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4f23
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4f31
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4f23
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4f31
movzx edi, byte [edx]
movzx ebx, byte [ecx]
sub edi, ebx
jne 0x4f4f23
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4f31
movzx edi, byte [edx]
movzx eax, byte [ecx]
sub edi, eax
je 0x4f4f31
test edi, edi
mov eax, 1
jg 0x4f4f33
or eax, 0xffffffff
jmp 0x4f4f33
xor eax, eax
test eax, eax
jne 0x4f4f51
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00505980
add esp, 4
jmp 0x4f40c0
mov eax, esi
lea ecx, [esp + 0xbc]
mov edx, ebp
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x4f4f74
sub eax, esi
add ecx, esi
add edx, esi
cmp eax, esi
jae 0x4f4f60
test eax, eax
je 0x4f4fd1
movzx esi, byte [ecx]
movzx edi, byte [edx]
sub edi, esi
jne 0x4f4fc3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4fd1
movzx esi, byte [ecx]
movzx edi, byte [edx]
sub edi, esi
jne 0x4f4fc3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4fd1
movzx esi, byte [ecx]
movzx edi, byte [edx]
sub edi, esi
jne 0x4f4fc3
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4f4fd1
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x4f4fd1
test edi, edi
mov eax, 1
jg 0x4f4fd3
or eax, 0xffffffff
jmp 0x4f4fd3
xor eax, eax
test eax, eax
jne 0x4f4ff2
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
push ecx
push edx
call fcn.00506900
add esp, 8
jmp 0x4f40c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00506af0
add esp, 8
jmp 0x4f40c0
cmp byte [ecx + 0x126], 3
jne 0x4f5064
test al, 2
jne 0x4f5064
push ecx
mov ecx, str.Missing_PLTE_before_IDAT
call fcn.004f99a0
add esp, 4
jmp 0x4f5064
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x68]
test al, 1
jne 0x4f503c
mov ecx, str.Missing_IHDR_before_IDAT
jmp 0x4f504e
cmp byte [edi + 0x126], 3
jne 0x4f5057
test al, 2
jne 0x4f5057
mov ecx, str.Missing_PLTE_before_IDAT
push edi
call fcn.004f99a0
add esp, 4
mov edx, dword [esp + 0x18]
or dword [edi + 0x68], esi
mov dword [edi + 0x10c], edx
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005787fd
add esp, 0xb8
ret