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

Disassembly:
sub esp, 0xb4
mov eax, dword [0x4d8668]
xor eax, esp
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xbc]
push ebp
mov ebp, dword [esp + 0xbc]
test ebp, ebp
mov dword [esp + 8], eax
je 0x472624
test eax, eax
je 0x472624
push ebx
push edi
push eax
push ebp
call fcn.004759b0
mov cl, 0x44
mov byte [esp + 0x96], cl
mov byte [esp + 0x1d], cl
mov byte [esp + 0xb7], cl
mov byte [esp + 0x47], cl
mov cl, 0x69
mov byte [esp + 0x5c], cl
mov byte [esp + 0xbc], cl
mov cl, 0x46
mov bl, 0x49
mov al, 0x54
mov byte [esp + 0x65], cl
mov byte [esp + 0x66], cl
mov cl, 0x73
mov dl, 0x74
add esp, 8
mov byte [esp + 0x8c], bl
mov byte [esp + 0x8d], 0x48
mov byte [esp + 0x8f], 0x52
mov byte [esp + 0x90], 0
mov byte [esp + 0x14], bl
mov byte [esp + 0x16], 0x41
mov byte [esp + 0x17], al
mov byte [esp + 0x18], 0
mov byte [esp + 0xac], bl
mov byte [esp + 0xad], 0x45
mov byte [esp + 0xae], 0x4e
mov byte [esp + 0xb0], 0
mov byte [esp + 0x1c], 0x50
mov byte [esp + 0x1d], 0x4c
mov byte [esp + 0x1e], al
mov byte [esp + 0x1f], 0x45
mov byte [esp + 0x20], 0
mov byte [esp + 0x3c], 0x62
mov byte [esp + 0x3d], 0x4b
mov byte [esp + 0x3e], 0x47
mov byte [esp + 0x40], 0
mov byte [esp + 0x7c], 0x63
mov byte [esp + 0x7d], 0x48
mov byte [esp + 0x7e], 0x52
mov byte [esp + 0x7f], 0x4d
mov byte [esp + 0x80], 0
mov byte [esp + 0x4c], 0x67
mov byte [esp + 0x4d], 0x41
mov byte [esp + 0x4e], 0x4d
mov byte [esp + 0x4f], 0x41
mov byte [esp + 0x50], 0
mov byte [esp + 0x9c], 0x68
mov byte [esp + 0x9d], bl
mov byte [esp + 0x9e], 0x53
mov byte [esp + 0x9f], al
mov byte [esp + 0xa0], 0
mov byte [esp + 0x55], 0x43
mov byte [esp + 0x56], 0x43
mov byte [esp + 0x57], 0x50
mov byte [esp + 0x58], 0
mov byte [esp + 0xb5], al
mov byte [esp + 0xb6], 0x58
mov byte [esp + 0xb7], dl
mov byte [esp + 0xb8], 0
mov byte [esp + 0x5c], 0x6f
mov byte [esp + 0x5f], cl
mov byte [esp + 0x60], 0
mov byte [esp + 0x24], 0x70
mov byte [esp + 0x25], 0x43
mov byte [esp + 0x26], 0x41
mov byte [esp + 0x27], 0x4c
mov byte [esp + 0x28], 0
mov byte [esp + 0x2c], 0x70
mov byte [esp + 0x2d], 0x48
mov byte [esp + 0x2e], 0x59
mov byte [esp + 0x2f], cl
mov byte [esp + 0x30], 0
mov byte [esp + 0x34], cl
mov byte [esp + 0x35], 0x42
mov byte [esp + 0x36], bl
mov byte [esp + 0x37], al
mov byte [esp + 0x38], 0
mov byte [esp + 0x6c], cl
mov byte [esp + 0x6d], 0x43
mov byte [esp + 0x6e], 0x41
mov byte [esp + 0x6f], 0x4c
mov byte [esp + 0x70], 0
mov byte [esp + 0x64], cl
mov byte [esp + 0x65], 0x50
mov byte [esp + 0x66], 0x4c
mov byte [esp + 0x67], al
mov byte [esp + 0x68], 0
mov byte [esp + 0x44], cl
mov byte [esp + 0x45], 0x52
mov byte [esp + 0x46], 0x47
mov byte [esp + 0x47], 0x42
mov byte [esp + 0x48], 0
mov byte [esp + 0x74], dl
mov byte [esp + 0x75], 0x45
mov byte [esp + 0x76], 0x58
mov byte [esp + 0x77], dl
mov byte [esp + 0x78], 0
mov byte [esp + 0x84], dl
mov byte [esp + 0x85], bl
mov byte [esp + 0x86], 0x4d
mov byte [esp + 0x87], 0x45
mov byte [esp + 0x88], 0
mov byte [esp + 0x94], dl
mov byte [esp + 0x95], 0x52
mov byte [esp + 0x96], 0x4e
mov byte [esp + 0x97], 0x53
mov byte [esp + 0x98], 0
mov byte [esp + 0xa4], 0x7a
mov byte [esp + 0xa5], al
mov byte [esp + 0xa6], 0x58
mov byte [esp + 0xa7], dl
mov byte [esp + 0xa8], 0
lea edi, [ebp + 0x11c]
push esi
push ebp
call fcn.00476ae0
mov dword [esp + 0x14], eax
add esp, 4
mov eax, 4
lea ecx, [esp + 0x18]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471650
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471638
test eax, eax
je 0x4716ad
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x47169f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4716ad
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x47169f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4716ad
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x47169f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4716ad
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x4716ad
test esi, esi
mov eax, 1
jg 0x4716af
or eax, 0xffffffff
jmp 0x4716af
xor eax, eax
test eax, eax
jne 0x4716c2
mov eax, dword [ebp + 0x6c]
test al, 8
je 0x4716c2
or eax, 0x2000
mov dword [ebp + 0x6c], eax
mov eax, 4
lea ecx, [esp + 0x90]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4716e8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4716d0
test eax, eax
je 0x471745
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471737
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471745
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471737
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471745
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471737
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471745
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471745
test esi, esi
mov eax, 1
jg 0x471747
or eax, 0xffffffff
jmp 0x471747
xor eax, eax
test eax, eax
jne 0x471763
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00476c10
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0xb0]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471789
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471771
test eax, eax
je 0x4717e6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4717d8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4717e6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4717d8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4717e6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4717d8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4717e6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x4717e6
test esi, esi
mov eax, 1
jg 0x4717e8
or eax, 0xffffffff
jmp 0x4717e8
xor eax, eax
test eax, eax
jne 0x471804
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00476f10
add esp, 0xc
jmp 0x471620
push edi
push ebp
call fcn.00470150
add esp, 8
test eax, eax
mov edx, edi
mov eax, 4
je 0x4719e5
lea ecx, [esp + 0x18]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471839
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471821
test eax, eax
je 0x471896
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471888
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471896
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471888
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471896
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471888
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471896
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471896
test esi, esi
mov eax, 1
jg 0x471898
or eax, 0xffffffff
jmp 0x471898
xor eax, eax
test eax, eax
jne 0x4718a0
or dword [ebp + 0x6c], 4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00479260
add esp, 0xc
mov eax, 4
lea ecx, [esp + 0x20]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4718d8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4718c0
test eax, eax
je 0x471935
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471927
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471935
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471927
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471935
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471927
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471935
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471935
test esi, esi
mov eax, 1
jg 0x471937
or eax, 0xffffffff
jmp 0x471937
xor eax, eax
test eax, eax
jne 0x471944
or dword [ebp + 0x6c], 2
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x18]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471968
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471950
test eax, eax
je 0x4719c5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4719b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4719c5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4719b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4719c5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4719b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4719c5
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x4719c5
test esi, esi
mov eax, 1
jg 0x4719c7
or eax, 0xffffffff
jmp 0x4719c7
xor eax, eax
test eax, eax
jne 0x471620
mov eax, dword [ebp + 0x6c]
test al, 1
jne 0x4725cf
push str.Missing_IHDR_before_IDAT
push ebp
call fcn.0046f9f0
lea ecx, [esp + 0x20]
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471a08
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4719f0
test eax, eax
je 0x471a65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471a57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471a65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471a57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471a65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471a57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471a65
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x471a65
test esi, esi
mov eax, 1
jg 0x471a67
or eax, 0xffffffff
jmp 0x471a67
xor eax, eax
test eax, eax
jne 0x471a83
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
push edx
push ebp
call fcn.00476d70
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x18]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471aa8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471a90
test eax, eax
je 0x471b05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471af7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471b05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471af7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471b05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471af7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471b05
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x471b05
test esi, esi
mov eax, 1
jg 0x471b07
or eax, 0xffffffff
jmp 0x471b07
xor eax, eax
test eax, eax
je 0x4725e7
mov eax, 4
lea ecx, [esp + 0x40]
mov edx, edi
lea ebx, [ebx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471b38
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471b20
test eax, eax
je 0x471b95
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471b87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471b95
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471b87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471b95
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471b87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471b95
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471b95
test esi, esi
mov eax, 1
jg 0x471b97
or eax, 0xffffffff
jmp 0x471b97
xor eax, eax
test eax, eax
jne 0x471bb3
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00477f10
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x80]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471bd9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471bc1
test eax, eax
je 0x471c36
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471c28
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471c36
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471c28
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471c36
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471c28
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471c36
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471c36
test esi, esi
mov eax, 1
jg 0x471c38
or eax, 0xffffffff
jmp 0x471c38
xor eax, eax
test eax, eax
jne 0x471c54
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00477210
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x50]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471c78
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471c60
test eax, eax
je 0x471cd5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471cc7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471cd5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471cc7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471cd5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471cc7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471cd5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471cd5
test esi, esi
mov eax, 1
jg 0x471cd7
or eax, 0xffffffff
jmp 0x471cd7
xor eax, eax
test eax, eax
jne 0x471cf3
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00476f60
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0xa0]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471d19
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471d01
test eax, eax
je 0x471d76
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471d68
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471d76
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471d68
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471d76
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471d68
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471d76
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471d76
test esi, esi
mov eax, 1
jg 0x471d78
or eax, 0xffffffff
jmp 0x471d78
xor eax, eax
test eax, eax
jne 0x471d94
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00478160
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x60]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471db8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471da0
test eax, eax
je 0x471e15
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471e07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471e15
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471e07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471e15
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471e07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471e15
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471e15
test esi, esi
mov eax, 1
jg 0x471e17
or eax, 0xffffffff
jmp 0x471e17
xor eax, eax
test eax, eax
jne 0x471e33
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00478440
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x28]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471e58
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471e40
test eax, eax
je 0x471eb5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471ea7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471eb5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471ea7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471eb5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471ea7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471eb5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471eb5
test esi, esi
mov eax, 1
jg 0x471eb7
or eax, 0xffffffff
jmp 0x471eb7
xor eax, eax
test eax, eax
jne 0x471ed3
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.004785b0
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x70]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471ef8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471ee0
test eax, eax
je 0x471f55
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471f47
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471f55
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471f47
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471f55
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471f47
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471f55
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471f55
test esi, esi
mov eax, 1
jg 0x471f57
or eax, 0xffffffff
jmp 0x471f57
xor eax, eax
test eax, eax
jne 0x471f73
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.004788e0
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x30]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x471f98
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x471f80
test eax, eax
je 0x471ff5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471fe7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471ff5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471fe7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471ff5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x471fe7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x471ff5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x471ff5
test esi, esi
mov eax, 1
jg 0x471ff7
or eax, 0xffffffff
jmp 0x471ff7
xor eax, eax
test eax, eax
jne 0x472013
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.004782f0
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x38]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x472038
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x472020
test eax, eax
je 0x472095
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472087
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472095
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472087
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472095
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472087
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472095
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x472095
test esi, esi
mov eax, 1
jg 0x472097
or eax, 0xffffffff
jmp 0x472097
xor eax, eax
test eax, eax
jne 0x4720b3
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.004770a0
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x48]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4720d8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4720c0
test eax, eax
je 0x472135
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472127
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472135
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472127
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472135
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472127
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472135
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x472135
test esi, esi
mov eax, 1
jg 0x472137
or eax, 0xffffffff
jmp 0x472137
xor eax, eax
test eax, eax
jne 0x472153
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00477530
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x58]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x472178
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x472160
test eax, eax
je 0x4721d5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4721c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4721d5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4721c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4721d5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4721c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4721d5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x4721d5
test esi, esi
mov eax, 1
jg 0x4721d7
or eax, 0xffffffff
jmp 0x4721d7
xor eax, eax
test eax, eax
jne 0x4721f3
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00477720
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x68]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x472218
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x472200
test eax, eax
je 0x472275
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472267
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472275
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472267
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472275
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472267
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472275
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x472275
test esi, esi
mov eax, 1
jg 0x472277
or eax, 0xffffffff
jmp 0x472277
xor eax, eax
test eax, eax
jne 0x472293
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.004779a0
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x78]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4722b8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4722a0
test eax, eax
je 0x472315
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472307
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472315
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472307
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472315
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472307
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472315
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x472315
test esi, esi
mov eax, 1
jg 0x472317
or eax, 0xffffffff
jmp 0x472317
xor eax, eax
test eax, eax
jne 0x472333
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00478be0
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x88]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x472359
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x472341
test eax, eax
je 0x4723b6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4723a8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4723b6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4723a8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4723b6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4723a8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4723b6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x4723b6
test esi, esi
mov eax, 1
jg 0x4723b8
or eax, 0xffffffff
jmp 0x4723b8
xor eax, eax
test eax, eax
jne 0x4723d4
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00478ac0
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0x98]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4723fa
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4723e2
test eax, eax
je 0x472457
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472449
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472457
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472449
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472457
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x472449
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472457
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x472457
test esi, esi
mov eax, 1
jg 0x472459
or eax, 0xffffffff
jmp 0x472459
xor eax, eax
test eax, eax
jne 0x472475
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00477c80
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0xa8]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x47249b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x472483
test eax, eax
je 0x4724f8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4724ea
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4724f8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4724ea
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4724f8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x4724ea
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x4724f8
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x4724f8
test esi, esi
mov eax, 1
jg 0x4724fa
or eax, 0xffffffff
jmp 0x4724fa
xor eax, eax
test eax, eax
jne 0x472516
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00478d90
add esp, 0xc
jmp 0x471620
mov eax, 4
lea ecx, [esp + 0xb8]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x47253c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x472524
test eax, eax
je 0x472599
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x47258b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472599
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x47258b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472599
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x47258b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x472599
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x472599
test esi, esi
mov eax, 1
jg 0x47259b
or eax, 0xffffffff
jmp 0x47259b
xor eax, eax
test eax, eax
jne 0x4725b7
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push edx
push eax
push ebp
call fcn.00478fa0
add esp, 0xc
jmp 0x471620
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push ecx
push edx
push ebp
call fcn.00479260
add esp, 0xc
jmp 0x471620
cmp byte [ebp + 0x126], 3
jne 0x472621
test al, 2
jne 0x472621
push str.Missing_PLTE_before_IDAT
push ebp
call fcn.0046f9f0
mov eax, dword [ebp + 0x6c]
test al, 1
jne 0x4725f9
push str.Missing_IHDR_before_IDAT
push ebp
call fcn.0046f9f0
cmp byte [ebp + 0x126], 3
jne 0x472611
test al, 2
jne 0x472611
push str.Missing_PLTE_before_IDAT
push ebp
call fcn.0046f9f0
mov ecx, dword [esp + 0x10]
or eax, 4
mov dword [ebp + 0x10c], ecx
mov dword [ebp + 0x6c], eax
pop esi
pop edi
pop ebx
mov ecx, dword [esp + 0xb4]
pop ebp
xor ecx, esp
call fcn.0042b558
add esp, 0xb4
ret