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

Disassembly:
sub esp, 0xb0
mov eax, dword [0x6d7160]
xor eax, esp
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb4]
push ebx
push ebp
push esi
mov esi, ecx
test esi, esi
push edi
mov dword [esp + 0x18], eax
je 0x507665
test eax, eax
je 0x507665
mov al, byte [esi + 0x12c]
cmp al, 8
jae 0x5064ad
mov edi, dword [esp + 0x18]
movzx ebp, al
mov ebx, 8
lea eax, [edi + ebp + 0x20]
sub ebx, ebp
push eax
mov edx, ebx
call fcn.005083c0
add esp, 4
add edi, 0x20
push ebx
push edi
mov edx, ebp
mov byte [esi + 0x12c], 8
call fcn.005046b0
add esp, 8
test eax, eax
je 0x5064a1
cmp ebp, 4
jae 0x506493
add ebx, 0xfffffffc
push ebx
push edi
mov edx, ebp
call fcn.005046b0
add esp, 8
test eax, eax
mov ecx, str.Not_a_PNG_file
jne 0x506498
mov ecx, str.PNG_file_corrupted_by_ASCII_conversion
push esi
call fcn.00507e90
add esp, 4
cmp ebp, 3
jae 0x5064ad
or dword [esi + 0x68], 0x1000
mov al, 0x44
mov byte [esp + 0x8e], al
mov byte [esp + 0x1d], al
mov byte [esp + 0x3f], al
mov byte [esp + 0x7f], al
mov al, 0x46
mov dl, 0x49
mov bl, 0x41
mov cl, 0x54
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], al
mov al, 0x73
mov byte [esp + 0x8c], dl
mov byte [esp + 0x8d], 0x48
mov byte [esp + 0x8f], 0x52
mov byte [esp + 0x90], 0
mov byte [esp + 0x1c], dl
mov byte [esp + 0x1e], bl
mov byte [esp + 0x1f], cl
mov byte [esp + 0x20], 0
mov byte [esp + 0x3c], dl
mov byte [esp + 0x3d], 0x45
mov byte [esp + 0x3e], 0x4e
mov byte [esp + 0x40], 0
mov byte [esp + 0x24], 0x50
mov byte [esp + 0x25], 0x4c
mov byte [esp + 0x26], cl
mov byte [esp + 0x27], 0x45
mov byte [esp + 0x28], 0
mov byte [esp + 0x7c], 0x62
mov byte [esp + 0x7d], 0x4b
mov byte [esp + 0x7e], 0x47
mov byte [esp + 0x80], 0
mov byte [esp + 0x4c], 0x63
mov byte [esp + 0x4d], 0x48
mov byte [esp + 0x4e], 0x52
mov byte [esp + 0x4f], 0x4d
mov byte [esp + 0x50], 0
mov byte [esp + 0x9c], 0x67
mov byte [esp + 0x9d], bl
mov byte [esp + 0x9e], 0x4d
mov byte [esp + 0x9f], bl
mov byte [esp + 0xa0], 0
mov byte [esp + 0x5c], 0x68
mov byte [esp + 0x5d], dl
mov byte [esp + 0x5e], 0x53
mov byte [esp + 0x5f], cl
mov byte [esp + 0x60], 0
mov byte [esp + 0x64], 0x69
mov byte [esp + 0x65], 0x43
mov byte [esp + 0x66], 0x43
mov byte [esp + 0x67], 0x50
mov byte [esp + 0x68], 0
mov byte [esp + 0x2c], 0x6f
mov byte [esp + 0x2f], al
mov byte [esp + 0x30], 0
mov byte [esp + 0x6c], 0x70
mov byte [esp + 0x6d], 0x43
mov byte [esp + 0x6e], bl
mov byte [esp + 0x6f], 0x4c
mov byte [esp + 0x70], 0
mov byte [esp + 0x34], 0x70
mov byte [esp + 0x35], 0x48
mov byte [esp + 0x36], 0x59
mov byte [esp + 0x37], al
mov byte [esp + 0x38], 0
mov byte [esp + 0x44], al
mov byte [esp + 0x45], 0x42
mov byte [esp + 0x46], dl
mov byte [esp + 0x47], cl
mov byte [esp + 0x48], 0
mov byte [esp + 0xac], al
mov byte [esp + 0xad], 0x43
mov byte [esp + 0xae], bl
mov byte [esp + 0xaf], 0x4c
mov byte [esp + 0xb0], 0
mov byte [esp + 0x74], al
mov byte [esp + 0x75], 0x50
mov byte [esp + 0x76], 0x4c
mov byte [esp + 0x77], cl
mov byte [esp + 0x78], 0
mov bl, 0x58
mov byte [esp + 0x54], al
mov al, 0x74
mov byte [esp + 0x86], bl
mov byte [esp + 0xb6], bl
mov byte [esp + 0x55], 0x52
mov byte [esp + 0x56], 0x47
mov byte [esp + 0x57], 0x42
mov byte [esp + 0x58], 0
mov byte [esp + 0x84], al
mov byte [esp + 0x85], 0x45
mov byte [esp + 0x87], al
mov byte [esp + 0x88], 0
mov byte [esp + 0x94], al
mov byte [esp + 0x95], dl
mov byte [esp + 0x96], 0x4d
mov byte [esp + 0x97], 0x45
mov byte [esp + 0x98], 0
mov byte [esp + 0xa4], al
mov byte [esp + 0xa5], 0x52
mov byte [esp + 0xa6], 0x4e
mov byte [esp + 0xa7], 0x53
mov byte [esp + 0xa8], 0
mov byte [esp + 0xb4], 0x7a
mov byte [esp + 0xb5], cl
mov byte [esp + 0xb7], al
mov byte [esp + 0xb8], 0
lea ebx, [esi + 0x11c]
nop
mov ecx, esi
call fcn.00508740
mov dword [esp + 0x14], eax
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, ebx
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x50672e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506716
test eax, eax
je 0x50678b
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x50677d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x50678b
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x50677d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x50678b
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x50677d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x50678b
movzx ebp, byte [edx]
movzx ecx, byte [ecx]
sub ebp, ecx
je 0x50678b
test ebp, ebp
mov eax, 1
jg 0x50678d
or eax, 0xffffffff
jmp 0x50678d
xor eax, eax
test eax, eax
jne 0x5067a0
mov eax, dword [esi + 0x68]
test al, 8
je 0x5067a0
or eax, 0x2000
mov dword [esi + 0x68], eax
mov eax, 4
lea ecx, [esp + 0x8c]
mov edx, ebx
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5067c8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5067b0
test eax, eax
je 0x506825
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506817
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506825
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506817
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506825
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506817
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506825
movzx eax, byte [ecx]
movzx ebp, byte [edx]
sub ebp, eax
je 0x506825
test ebp, ebp
mov eax, 1
jg 0x506827
or eax, 0xffffffff
jmp 0x506827
xor eax, eax
test eax, eax
jne 0x506842
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push edx
call fcn.00508c80
add esp, 8
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x3c]
mov edx, ebx
lea ecx, [ecx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506868
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506850
test eax, eax
je 0x5068c5
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x5068b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5068c5
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x5068b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5068c5
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x5068b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5068c5
movzx ebp, byte [edx]
movzx eax, byte [ecx]
sub ebp, eax
je 0x5068c5
test ebp, ebp
mov eax, 1
jg 0x5068c7
or eax, 0xffffffff
jmp 0x5068c7
xor eax, eax
test eax, eax
jne 0x5068db
mov edi, dword [esp + 0x14]
mov eax, esi
call fcn.00508f50
jmp 0x506700
push ebx
mov ecx, esi
call fcn.00504d00
add esp, 4
test eax, eax
mov edx, ebx
mov eax, 4
je 0x506acd
lea ecx, [esp + 0x1c]
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506918
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506900
test eax, eax
je 0x506975
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506967
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506975
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506967
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506975
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506967
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506975
movzx ecx, byte [ecx]
movzx ebp, byte [edx]
sub ebp, ecx
je 0x506975
test ebp, ebp
mov eax, 1
jg 0x506977
or eax, 0xffffffff
jmp 0x506977
xor eax, eax
test eax, eax
jne 0x50697f
or dword [esi + 0x68], 4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push edx
push eax
mov ecx, esi
call fcn.0050aa40
add esp, 8
mov eax, 4
lea ecx, [esp + 0x24]
mov edx, ebx
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5069b8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5069a0
test eax, eax
je 0x506a15
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x506a07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506a15
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x506a07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506a15
movzx edi, byte [edx]
movzx ebp, byte [ecx]
sub edi, ebp
jne 0x506a07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506a15
movzx edi, byte [edx]
movzx ecx, byte [ecx]
sub edi, ecx
je 0x506a15
test edi, edi
mov eax, 1
jg 0x506a17
or eax, 0xffffffff
jmp 0x506a17
xor eax, eax
test eax, eax
jne 0x506a24
or dword [esi + 0x68], 2
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, ebx
nop
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506a48
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506a30
test eax, eax
je 0x506aa5
movzx ebp, byte [ecx]
movzx edi, byte [edx]
sub edi, ebp
jne 0x506a97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506aa5
movzx ebp, byte [ecx]
movzx edi, byte [edx]
sub edi, ebp
jne 0x506a97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506aa5
movzx ebp, byte [ecx]
movzx edi, byte [edx]
sub edi, ebp
jne 0x506a97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506aa5
movzx eax, byte [ecx]
movzx edi, byte [edx]
sub edi, eax
je 0x506aa5
test edi, edi
mov eax, 1
jg 0x506aa7
or eax, 0xffffffff
jmp 0x506aa7
xor eax, eax
test eax, eax
jne 0x506700
mov eax, dword [esi + 0x68]
test al, 1
jne 0x507611
push esi
mov ecx, str.Missing_IHDR_before_IDAT
call fcn.00507e90
add esp, 4
jmp 0x507665
lea ecx, [esp + 0x24]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506ae9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506ad1
test eax, eax
je 0x506b46
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506b38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506b46
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506b38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506b46
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506b38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506b46
movzx ebp, byte [edx]
movzx ecx, byte [ecx]
sub ebp, ecx
je 0x506b46
test ebp, ebp
mov eax, 1
jg 0x506b48
or eax, 0xffffffff
jmp 0x506b48
xor eax, eax
test eax, eax
jne 0x506b64
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
mov ecx, esi
call fcn.00508df0
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, ebx
nop
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506b88
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506b70
test eax, eax
je 0x506be5
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506bd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506be5
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506bd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506be5
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506bd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506be5
movzx eax, byte [ecx]
movzx ebp, byte [edx]
sub ebp, eax
je 0x506be5
test ebp, ebp
mov eax, 1
jg 0x506be7
or eax, 0xffffffff
jmp 0x506be7
xor eax, eax
test eax, eax
je 0x50762e
mov eax, 4
lea ecx, [esp + 0x7c]
mov edx, ebx
lea ebx, [ebx]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506c18
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506c00
test eax, eax
je 0x506c75
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506c67
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506c75
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506c67
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506c75
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506c67
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506c75
movzx ebp, byte [edx]
movzx ecx, byte [ecx]
sub ebp, ecx
je 0x506c75
test ebp, ebp
mov eax, 1
jg 0x506c77
or eax, 0xffffffff
jmp 0x506c77
xor eax, eax
test eax, eax
jne 0x506c93
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edx
mov edx, esi
call fcn.00509d70
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x4c]
mov edx, ebx
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506cb8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506ca0
test eax, eax
je 0x506d15
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506d07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506d15
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506d07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506d15
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506d07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506d15
movzx eax, byte [ecx]
movzx ebp, byte [edx]
sub ebp, eax
je 0x506d15
test ebp, ebp
mov eax, 1
jg 0x506d17
or eax, 0xffffffff
jmp 0x506d17
xor eax, eax
test eax, eax
jne 0x506d33
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, esi
call fcn.00509240
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x9c]
mov edx, ebx
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506d59
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506d41
test eax, eax
je 0x506db6
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506da8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506db6
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506da8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506db6
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506da8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506db6
movzx ebp, byte [edx]
movzx edx, byte [ecx]
sub ebp, edx
je 0x506db6
test ebp, ebp
mov eax, 1
jg 0x506db8
or eax, 0xffffffff
jmp 0x506db8
xor eax, eax
test eax, eax
jne 0x506dd4
mov eax, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
mov ecx, esi
call fcn.00508f90
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x5c]
mov edx, ebx
nop
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506df8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506de0
test eax, eax
je 0x506e55
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506e47
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506e55
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506e47
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506e55
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506e47
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506e55
movzx ecx, byte [ecx]
movzx ebp, byte [edx]
sub ebp, ecx
je 0x506e55
test ebp, ebp
mov eax, 1
jg 0x506e57
or eax, 0xffffffff
jmp 0x506e57
xor eax, eax
test eax, eax
jne 0x506e73
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edx
mov edx, esi
call fcn.00509f40
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x2c]
mov edx, ebx
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506e98
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506e80
test eax, eax
je 0x506ef5
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506ee7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506ef5
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506ee7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506ef5
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x506ee7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506ef5
movzx ebp, byte [edx]
movzx eax, byte [ecx]
sub ebp, eax
je 0x506ef5
test ebp, ebp
mov eax, 1
jg 0x506ef7
or eax, 0xffffffff
jmp 0x506ef7
xor eax, eax
test eax, eax
jne 0x506f13
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, esi
call fcn.0050a150
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x6c]
mov edx, ebx
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506f38
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506f20
test eax, eax
je 0x506f95
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506f87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506f95
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506f87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506f95
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x506f87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x506f95
movzx eax, byte [ecx]
movzx ebp, byte [edx]
sub ebp, eax
je 0x506f95
test ebp, ebp
mov eax, 1
jg 0x506f97
or eax, 0xffffffff
jmp 0x506f97
xor eax, eax
test eax, eax
jne 0x506fb4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push edx
mov eax, esi
call fcn.0050a230
add esp, 8
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0xac]
mov edx, ebx
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x506fda
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x506fc2
test eax, eax
je 0x507037
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x507029
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507037
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x507029
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507037
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x507029
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507037
movzx ebp, byte [edx]
movzx eax, byte [ecx]
sub ebp, eax
je 0x507037
test ebp, ebp
mov eax, 1
jg 0x507039
or eax, 0xffffffff
jmp 0x507039
xor eax, eax
test eax, eax
jne 0x507056
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push edx
mov eax, esi
call fcn.0050a4a0
add esp, 8
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x34]
mov edx, ebx
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x507079
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x507061
test eax, eax
je 0x5070d6
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x5070c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5070d6
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x5070c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5070d6
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x5070c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5070d6
movzx eax, byte [ecx]
movzx ebp, byte [edx]
sub ebp, eax
je 0x5070d6
test ebp, ebp
mov eax, 1
jg 0x5070d8
or eax, 0xffffffff
jmp 0x5070d8
xor eax, eax
test eax, eax
jne 0x5070f4
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, esi
call fcn.0050a070
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x44]
mov edx, ebx
nop
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x507118
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x507100
test eax, eax
je 0x507175
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x507167
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507175
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x507167
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507175
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x507167
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507175
movzx ebp, byte [edx]
movzx edx, byte [ecx]
sub ebp, edx
je 0x507175
test ebp, ebp
mov eax, 1
jg 0x507177
or eax, 0xffffffff
jmp 0x507177
xor eax, eax
test eax, eax
jne 0x507194
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov eax, esi
call fcn.005090e0
add esp, 8
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x54]
mov edx, ebx
nop
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5071b8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5071a0
test eax, eax
je 0x507215
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x507207
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507215
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x507207
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507215
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x507207
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507215
movzx eax, byte [ecx]
movzx ebp, byte [edx]
sub ebp, eax
je 0x507215
test ebp, ebp
mov eax, 1
jg 0x507217
or eax, 0xffffffff
jmp 0x507217
xor eax, eax
test eax, eax
jne 0x507233
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, esi
call fcn.00509580
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, ebx
mov edi, edi
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x507258
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x507240
test eax, eax
je 0x5072b5
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x5072a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5072b5
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x5072a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5072b5
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x5072a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5072b5
movzx ebp, byte [edx]
movzx edx, byte [ecx]
sub ebp, edx
je 0x5072b5
test ebp, ebp
mov eax, 1
jg 0x5072b7
or eax, 0xffffffff
jmp 0x5072b7
xor eax, eax
test eax, eax
jne 0x5072d4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov eax, esi
call fcn.00509780
add esp, 8
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x74]
mov edx, ebx
nop
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5072f8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5072e0
test eax, eax
je 0x507355
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x507347
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507355
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x507347
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507355
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x507347
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507355
movzx eax, byte [ecx]
movzx ebp, byte [edx]
sub ebp, eax
je 0x507355
test ebp, ebp
mov eax, 1
jg 0x507357
or eax, 0xffffffff
jmp 0x507357
xor eax, eax
test eax, eax
jne 0x507373
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, esi
call fcn.00509960
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x84]
mov edx, ebx
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x507399
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x507381
test eax, eax
je 0x5073f6
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x5073e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5073f6
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x5073e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5073f6
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x5073e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5073f6
movzx ebp, byte [edx]
movzx edx, byte [ecx]
sub ebp, edx
je 0x5073f6
test ebp, ebp
mov eax, 1
jg 0x5073f8
or eax, 0xffffffff
jmp 0x5073f8
xor eax, eax
test eax, eax
jne 0x507414
mov eax, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
mov ecx, esi
call fcn.0050a750
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0x94]
mov edx, ebx
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x50743a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x507422
test eax, eax
je 0x507497
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x507489
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507497
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x507489
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507497
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x507489
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507497
movzx ecx, byte [ecx]
movzx ebp, byte [edx]
sub ebp, ecx
je 0x507497
test ebp, ebp
mov eax, 1
jg 0x507499
or eax, 0xffffffff
jmp 0x507499
xor eax, eax
test eax, eax
jne 0x5074b5
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edx
mov edx, esi
call fcn.0050a650
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0xa4]
mov edx, ebx
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x5074db
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x5074c3
test eax, eax
je 0x507538
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x50752a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507538
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x50752a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507538
movzx ebp, byte [edx]
movzx edi, byte [ecx]
sub ebp, edi
jne 0x50752a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x507538
movzx ebp, byte [edx]
movzx eax, byte [ecx]
sub ebp, eax
je 0x507538
test ebp, ebp
mov eax, 1
jg 0x50753a
or eax, 0xffffffff
jmp 0x50753a
xor eax, eax
test eax, eax
jne 0x507556
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, esi
call fcn.00509ba0
add esp, 4
jmp 0x506700
mov eax, 4
lea ecx, [esp + 0xb4]
mov edx, ebx
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x50757c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x507564
test eax, eax
je 0x5075d9
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x5075cb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5075d9
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x5075cb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5075d9
movzx edi, byte [ecx]
movzx ebp, byte [edx]
sub ebp, edi
jne 0x5075cb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x5075d9
movzx eax, byte [ecx]
movzx ebp, byte [edx]
sub ebp, eax
je 0x5075d9
test ebp, ebp
mov eax, 1
jg 0x5075db
or eax, 0xffffffff
jmp 0x5075db
xor eax, eax
test eax, eax
jne 0x5075f8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ecx
push edx
mov eax, esi
call fcn.0050a8a0
add esp, 8
jmp 0x506700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov ecx, esi
call fcn.0050aa40
add esp, 8
jmp 0x506700
cmp byte [esi + 0x126], 3
jne 0x507665
test al, 2
jne 0x507665
push esi
mov ecx, str.Missing_PLTE_before_IDAT
call fcn.00507e90
add esp, 4
jmp 0x507665
mov eax, dword [esi + 0x68]
test al, 1
jne 0x50763c
mov ecx, str.Missing_IHDR_before_IDAT
jmp 0x50764e
cmp byte [esi + 0x126], 3
jne 0x507657
test al, 2
jne 0x507657
mov ecx, str.Missing_PLTE_before_IDAT
push esi
call fcn.00507e90
add esp, 4
mov edx, dword [esp + 0x14]
or dword [esi + 0x68], 4
mov dword [esi + 0x10c], edx
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00607d6d
add esp, 0xb0
ret