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

Disassembly:
push ebp
push edi
push esi
push ebx
push eax
mov eax, 0x14e8
call fcn.004cd490
xor edi, edi
sub esp, eax
mov ebp, ecx
mov eax, dword [esp + eax]
mov word [esp + 0x9b], di
mov dword [eax + 8], 0
mov edi, dword [eax]
mov dword [eax + 4], 0
mov dword [eax + 0xc], 0
mov dword [esp + 0x34], eax
mov ecx, dword [edi + 0xac]
mov eax, dword [edi + 0xb0]
mov dword [esp + 0x44], edx
mov byte [esp + 0x9d], 0
mov dword [esp + 0x2c], edi
cmp ecx, eax
jb 0x417810
mov esi, dword [edi + 0x20]
test esi, esi
jne 0x418490
lea esi, [esi]
lea esi, [esi]
mov dword [esp], 0x4e9010
call sym.___emutls_get_address
mov dword [eax], str.Not_a_PNG
xor eax, eax
add esp, 0x14ec
pop ebx
pop esi
pop edi
pop ebp
ret
lea edx, [ecx + 1]
mov dword [edi + 0xac], edx
movzx ecx, byte [ecx]
cmp cl, 0x89
jne 0x4177f0
cmp edx, eax
jb 0x417880
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x20]
test ebx, ebx
je 0x4177f0
mov edi, eax
lea ebx, [eax + 0x28]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call dword [edi + 0x10]
mov edx, dword [edi + 0xac]
lea ecx, [edi + 0x29]
sub edx, dword [edi + 0xb4]
add dword [edi + 0xa8], edx
test eax, eax
je 0x418550
add eax, ebx
mov dword [edi + 0xac], ecx
movzx edx, byte [edi + 0x28]
mov dword [edi + 0xb0], eax
jmp 0x417890
mov ebx, dword [esp + 0x2c]
lea ecx, [edx + 1]
mov dword [ebx + 0xac], ecx
movzx edx, byte [edx]
cmp dl, 0x50
jne 0x4177f0
cmp ecx, eax
jb 0x417900
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x4177f0
mov edi, eax
lea ebx, [eax + 0x28]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call dword [edi + 0x10]
mov edx, dword [edi + 0xac]
sub edx, dword [edi + 0xb4]
add dword [edi + 0xa8], edx
lea edx, [edi + 0x29]
test eax, eax
je 0x418530
add eax, ebx
mov dword [edi + 0xac], edx
movzx ecx, byte [edi + 0x28]
mov dword [edi + 0xb0], eax
jmp 0x417910
mov ebx, dword [esp + 0x2c]
lea edx, [ecx + 1]
mov dword [ebx + 0xac], edx
movzx ecx, byte [ecx]
cmp cl, 0x4e
jne 0x4177f0
cmp edx, eax
jb 0x417980
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x4177f0
mov esi, eax
lea ebx, [eax + 0x28]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call dword [esi + 0x10]
mov edx, dword [esi + 0xac]
lea ecx, [esi + 0x29]
sub edx, dword [esi + 0xb4]
add dword [esi + 0xa8], edx
test eax, eax
je 0x418550
add eax, ebx
mov dword [esi + 0xac], ecx
movzx edx, byte [esi + 0x28]
mov dword [esi + 0xb0], eax
jmp 0x417990
mov ebx, dword [esp + 0x2c]
lea ecx, [edx + 1]
mov dword [ebx + 0xac], ecx
movzx edx, byte [edx]
cmp dl, 0x47
jne 0x4177f0
cmp ecx, eax
jb 0x417a00
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0x20]
test edi, edi
je 0x4177f0
mov esi, eax
lea ebx, [eax + 0x28]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call dword [esi + 0x10]
mov edx, dword [esi + 0xac]
sub edx, dword [esi + 0xb4]
add dword [esi + 0xa8], edx
lea edx, [esi + 0x29]
test eax, eax
je 0x418530
add eax, ebx
mov dword [esi + 0xac], edx
movzx ecx, byte [esi + 0x28]
mov dword [esi + 0xb0], eax
jmp 0x417a10
mov edi, dword [esp + 0x2c]
lea edx, [ecx + 1]
mov dword [edi + 0xac], edx
movzx ecx, byte [ecx]
cmp cl, 0xd
jne 0x4177f0
cmp edx, eax
jb 0x417a80
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 0x20]
test esi, esi
je 0x4177f0
mov edi, eax
lea ebx, [eax + 0x28]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call dword [edi + 0x10]
mov edx, dword [edi + 0xac]
lea ecx, [edi + 0x29]
sub edx, dword [edi + 0xb4]
add dword [edi + 0xa8], edx
test eax, eax
je 0x418550
add eax, ebx
mov dword [edi + 0xac], ecx
movzx edx, byte [edi + 0x28]
mov dword [edi + 0xb0], eax
jmp 0x417a90
mov ebx, dword [esp + 0x2c]
lea ecx, [edx + 1]
mov dword [ebx + 0xac], ecx
movzx edx, byte [edx]
cmp dl, 0xa
jne 0x4177f0
cmp ecx, eax
jb 0x417b00
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x20]
test ebx, ebx
je 0x4177f0
mov edi, eax
lea ebx, [eax + 0x28]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call dword [edi + 0x10]
mov edx, dword [edi + 0xac]
sub edx, dword [edi + 0xb4]
add dword [edi + 0xa8], edx
lea edx, [edi + 0x29]
test eax, eax
je 0x418530
add eax, ebx
mov dword [edi + 0xac], edx
movzx ecx, byte [edi + 0x28]
mov dword [edi + 0xb0], eax
jmp 0x417b10
mov edi, dword [esp + 0x2c]
lea edx, [ecx + 1]
mov dword [edi + 0xac], edx
movzx ecx, byte [ecx]
cmp cl, 0x1a
jne 0x4177f0
cmp edx, eax
jae 0x418388
mov ebx, dword [esp + 0x2c]
lea eax, [edx + 1]
mov dword [ebx + 0xac], eax
movzx eax, byte [edx]
cmp al, 0xa
jne 0x4177f0
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x64], 0
mov dword [esp + 0x4c], 0
lea eax, [ebx + 0x29]
mov dword [esp + 0x58], 0
mov dword [esp + 0x38], 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x6b], 0
mov byte [esp + 0x48], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x5c], ebp
lea esi, [esi]
mov eax, ebx
call sym.stbi__get16be_stbi__context_
mov esi, eax
mov eax, ebx
call sym.stbi__get16be_stbi__context_
shl esi, 0x10
lea ebp, [esi + eax]
mov eax, ebx
call sym.stbi__get16be_stbi__context_
mov esi, eax
mov eax, ebx
call sym.stbi__get16be_stbi__context_
shl esi, 0x10
add esi, eax
cmp esi, 0x49484452
je 0x418208
ja 0x417c20
cmp esi, 0x49444154
je 0x417cc8
cmp esi, 0x49454e44
je 0x417f98
cmp esi, 0x43674249
jne 0x417f60
test ebp, ebp
je 0x417c00
js 0x418708
mov edx, ebp
mov eax, ebx
call sym.stbi__skip_stbi__context__int___clone_.part.0_
mov dword [esp + 0x64], 1
lea esi, [esi]
nop
mov eax, ebx
call sym.stbi__get32be_stbi__context_
jmp 0x417b90
cmp esi, 0x504c5445
je 0x417d60
cmp esi, 0x74524e53
jne 0x417f60
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x417d48
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
test eax, eax
jne 0x417d48
cmp byte [esp + 0x48], 0
jne 0x418620
mov eax, dword [ebx + 8]
test al, 1
je 0x417d48
lea edx, [eax + eax]
cmp edx, ebp
jne 0x417d48
cmp dword [esp + 0x44], 2
je 0x418fb1
mov edx, dword [esp + 0x34]
cmp dword [edx + 0x10], 0x10
je 0x418500
xor esi, esi
mov edi, edx
test eax, eax
jle 0x417cba
mov eax, ebx
call sym.stbi__get16be_stbi__context_
mov ecx, dword [edi + 0x10]
mov edx, eax
movzx eax, byte [ecx + 0x4ec9e4]
imul eax, edx
mov byte [esp + esi + 0x9b], al
add esi, 1
cmp dword [ebx + 8], esi
jg 0x417c95
mov byte [esp + 0x6b], 1
jmp 0x417c10
mov edi, dword [esp + 0x38]
test edi, edi
jne 0x417d48
cmp byte [esp + 0x48], 0
je 0x417cdf
mov esi, dword [esp + 0x30]
test esi, esi
je 0x417d48
cmp dword [esp + 0x44], 2
je 0x418f39
cmp ebp, 0x40000000
ja 0x418f22
mov eax, dword [esp + 0x50]
lea esi, [eax + ebp]
cmp esi, eax
jl 0x417802
mov eax, dword [esp + 0x34]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x54]
cmp eax, esi
jb 0x4185b0
mov eax, dword [esp + 0x50]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xb0]
add edi, eax
mov eax, dword [ebx + 0xac]
test ecx, ecx
je 0x417d3d
mov ecx, edx
sub ecx, eax
cmp ebp, ecx
jg 0x418923
lea ecx, [eax + ebp]
cmp edx, ecx
jae 0x4184e0
mov dword [esp], 0x4e9010
call sym.___emutls_get_address
mov dword [eax], str.Corrupt_PNG
jmp 0x417802
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x417d48
cmp ebp, 0x300
ja 0x417d48
mov eax, 0xaaaaaaab
mul ebp
mov eax, edx
and edx, 0xfffffffe
shr eax, 1
add edx, eax
mov dword [esp + 0x30], eax
cmp edx, ebp
jne 0x417d48
cmp edx, 2
jbe 0x418a13
lea ecx, [ebx + 0x28]
mov edx, dword [ebx + 0xac]
mov eax, dword [ebx + 0xb0]
xor edi, edi
mov dword [esp + 0x40], ecx
lea esi, [esp + 0xf8]
jmp 0x417e04
lea ebp, [edx + 1]
mov dword [ebx + 0xac], ebp
movzx edx, byte [edx]
mov byte [esi + edi*4], dl
cmp ebp, eax
jae 0x418458
lea ecx, [ebp + 1]
mov dword [ebx + 0xac], ecx
movzx edx, byte [ebp]
mov byte [esi + edi*4 + 1], dl
cmp ecx, eax
jae 0x418418
lea edx, [ecx + 1]
mov dword [ebx + 0xac], edx
movzx ecx, byte [ecx]
mov byte [esi + edi*4 + 2], cl
mov ecx, dword [esp + 0x30]
mov byte [esi + edi*4 + 3], 0xff
add edi, 1
cmp edi, ecx
jae 0x417c10
cmp edx, eax
jb 0x417db0
mov ebp, dword [ebx + 0x20]
test ebp, ebp
jne 0x417e98
mov byte [esi + edi*4], 0
mov ecx, dword [ebx + 0x20]
test ecx, ecx
jne 0x417f00
mov byte [esi + edi*4 + 1], 0
mov ebp, dword [ebx + 0x20]
xor ecx, ecx
test ebp, ebp
je 0x417dec
mov eax, dword [ebx + 0x24]
mov byte [esp + 0x60], cl
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call dword [ebx + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebx + 0xac]
sub edx, dword [ebx + 0xb4]
add dword [ebx + 0xa8], edx
mov edx, ecx
test eax, eax
jne 0x418420
mov dword [ebx + 0x20], 0
mov eax, ecx
movzx ecx, byte [esp + 0x60]
mov byte [ebx + 0x28], 0
mov ebp, dword [esp + 0x3c]
mov dword [ebx + 0xb0], eax
mov dword [ebx + 0xac], ebp
jmp 0x417dec
mov eax, dword [ebx + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call dword [ebx + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebx + 0xac]
sub edx, dword [ebx + 0xb4]
add dword [ebx + 0xa8], edx
mov edx, ecx
test eax, eax
jne 0x418430
mov dword [ebx + 0x20], 0
mov eax, ecx
mov dword [ebx + 0xb0], ecx
mov dword [ebx + 0xac], ecx
mov ecx, dword [ebx + 0x20]
mov byte [ebx + 0x28], 0
mov byte [esi + edi*4], 0
test ecx, ecx
je 0x417e22
lea esi, [esi]
nop
mov eax, dword [ebx + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call dword [ebx + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebx + 0xac]
sub edx, dword [ebx + 0xb4]
add dword [ebx + 0xa8], edx
mov edx, ecx
test eax, eax
jne 0x4183f0
mov dword [ebx + 0x20], 0
mov eax, ecx
mov byte [ebx + 0x28], 0
mov dword [ebx + 0xb0], ecx
mov dword [ebx + 0xac], ecx
mov byte [esi + edi*4 + 1], 0
jmp 0x417e27
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x417d48
and esi, 0x20000000
je 0x418f0b
test ebp, ebp
je 0x417c10
js 0x418728
mov edx, ebp
mov eax, ebx
call sym.stbi__skip_stbi__context__int___clone_.part.0_
jmp 0x417c10
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
test edx, edx
jne 0x417d48
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x4181f8
mov eax, dword [esp + 0x34]
mov edi, dword [eax + 4]
test edi, edi
je 0x417d48
mov edx, dword [esp + 0x2c]
mov esi, eax
mov ebx, dword [edx]
mov eax, dword [edx + 4]
imul ebx, dword [esi + 0x10]
mov esi, dword [edx + 8]
imul esi, eax
add ebx, 7
shr ebx, 3
imul ebx, esi
mov esi, dword [esp + 0x64]
xor esi, 1
add ebx, eax
mov dword [esp], ebx
call sym._malloc
test eax, eax
je 0x418e88
mov edx, dword [esp + 0x50]
mov dword [esp + 0x50c], eax
mov dword [esp + 0x508], eax
add eax, ebx
add edx, edi
mov dword [esp + 0x510], eax
lea eax, [esp + 0x4f8]
mov dword [esp + 0x4fc], edx
mov edx, esi
mov dword [esp + 0x4f8], edi
mov dword [esp + 0x514], 1
call sym.stbi__parse_zlib_stbi__zbuf__int_
test eax, eax
mov eax, dword [esp + 0x50c]
je 0x418e80
mov edx, dword [esp + 0x508]
sub edx, eax
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x34]
mov dword [edx + 8], eax
test eax, eax
je 0x417802
mov eax, dword [edx + 4]
mov ebx, edx
mov dword [esp], eax
call sym._free
mov eax, dword [esp + 0x2c]
mov dword [ebx + 4], 0
mov eax, dword [eax + 8]
mov dword [esp + 0x60], eax
add eax, 1
cmp eax, ebp
je 0x4189f4
cmp byte [esp + 0x6b], 0
cmove eax, dword [esp + 0x60]
mov dword [esp + 0x60], eax
mov edi, eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov dword [eax + 0xc], edi
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx + 8]
mov esi, dword [ecx]
cmp edx, 0x10
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
lea eax, [edi + edi]
cmovne eax, edi
cmp dword [esp + 0x58], 0
mov dword [esp + 0x30], esi
mov ebx, eax
mov eax, ecx
mov ecx, dword [esi + 4]
mov esi, dword [esi]
mov dword [esp + 0x3c], ecx
jne 0x418a20
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], esi
mov dword [esp], edi
call sym.stbi__create_png_image_raw_stbi__png__unsigned_char__unsigned_int__int__unsigned_int__unsigned_int__int__int_
test eax, eax
je 0x417802
cmp byte [esp + 0x6b], 0
jne 0x418d65
mov ecx, dword [esp + 0x64]
test ecx, ecx
jne 0x418e33
cmp byte [esp + 0x48], 0
je 0x4181d9
mov eax, dword [esp + 0x2c]
movzx esi, byte [esp + 0x48]
cmp ebp, 3
mov edx, dword [esp + 0x34]
mov dword [eax + 8], esi
cmovge esi, ebp
mov dword [eax + 0xc], esi
mov eax, dword [edx]
mov ebx, dword [eax]
imul ebx, dword [eax + 4]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x30], eax
test ebx, ebx
js 0x418ef4
mov eax, 0x7fffffff
xor edx, edx
idiv esi
cmp ebx, eax
jg 0x418ef4
mov eax, ebx
imul eax, esi
mov dword [esp], eax
call sym._malloc
mov edi, eax
test eax, eax
je 0x418ef4
cmp esi, 3
jne 0x418e98
test ebx, ebx
je 0x4181c6
lea ebx, [ebx + ebx*2]
mov ecx, dword [esp + 0x30]
add ebx, eax
movzx edx, byte [ecx]
add eax, 3
add ecx, 1
shl edx, 2
movzx esi, word [esp + edx + 0xf8]
movzx edx, byte [esp + edx + 0xfa]
mov word [eax - 3], si
mov byte [eax - 1], dl
cmp ebx, eax
jne 0x41819f
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sym._free
mov eax, dword [esp + 0x34]
mov dword [eax + 0xc], edi
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._free
mov dword [ebx + 8], 0
mov eax, dword [esp + 0x2c]
call sym.stbi__get32be_stbi__context_
mov eax, 1
jmp 0x417804
mov edx, dword [esp + 0x38]
test edx, edx
je 0x417d48
cmp ebp, 0xd
jne 0x417d48
mov eax, ebx
call sym.stbi__get32be_stbi__context_
mov dword [ebx], eax
mov eax, ebx
call sym.stbi__get32be_stbi__context_
mov dword [ebx + 4], eax
cmp eax, 0x1000000
ja 0x418e1c
cmp dword [ebx], 0x1000000
ja 0x418e1c
mov eax, dword [ebx + 0xac]
cmp eax, dword [ebx + 0xb0]
jae 0x418460
lea edx, [eax + 1]
mov dword [ebx + 0xac], edx
movzx edx, byte [eax]
mov eax, edx
mov edi, dword [esp + 0x34]
mov dword [edi + 0x10], edx
cmp al, 0x10
ja 0x418476
mov edx, 0x10116
bt edx, eax
jae 0x418476
mov ecx, dword [ebx + 0xac]
mov eax, dword [ebx + 0xb0]
cmp ecx, eax
jae 0x418570
lea edx, [ecx + 1]
mov dword [ebx + 0xac], edx
movzx edi, byte [ecx]
mov ecx, edi
movzx ecx, cl
mov dword [esp + 0x4c], ecx
cmp dword [esp + 0x4c], 6
jg 0x417d48
cmp dword [esp + 0x4c], 3
je 0x418600
test edi, 1
jne 0x417d48
cmp edx, eax
jae 0x418801
lea ecx, [edx + 1]
mov dword [ebx + 0xac], ecx
movzx edx, byte [edx]
test dl, dl
jne 0x417d48
cmp ecx, eax
jae 0x418857
lea edx, [ecx + 1]
mov dword [ebx + 0xac], edx
movzx ecx, byte [ecx]
test cl, cl
jne 0x417d48
cmp edx, eax
jae 0x4188ad
lea eax, [edx + 1]
mov dword [ebx + 0xac], eax
movzx eax, byte [edx]
mov dword [esp + 0x58], eax
cmp dword [esp + 0x58], 1
jg 0x417d48
mov ecx, dword [ebx]
test ecx, ecx
je 0x417d48
mov esi, dword [ebx + 4]
test esi, esi
je 0x417d48
cmp byte [esp + 0x48], 0
jne 0x418590
and edi, 2
mov edi, dword [esp + 0x4c]
mov eax, 3
cmove eax, dword [esp + 0x38]
xor edx, edx
sar edi, 2
add edi, eax
mov eax, 0x40000000
div ecx
mov dword [ebx + 8], edi
xor edx, edx
div edi
cmp eax, esi
jb 0x418fc0
mov dword [esp + 0x38], 0
jmp 0x417c10
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x4177f0
mov esi, eax
lea ebx, [eax + 0x28]
mov eax, dword [eax + 0x24]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esi + 0x1c]
mov dword [esp], eax
call dword [esi + 0x10]
lea ecx, [esi + 0x29]
mov edx, eax
mov eax, dword [esi + 0xac]
sub eax, dword [esi + 0xb4]
add dword [esi + 0xa8], eax
test edx, edx
jne 0x418908
mov dword [esi + 0x20], 0
mov byte [esi + 0x28], 0
mov dword [esi + 0xb0], ecx
mov dword [esi + 0xac], ecx
jmp 0x4177f0
mov edx, dword [esp + 0x40]
mov dword [ebx + 0xac], ecx
add eax, edx
movzx edx, byte [ebx + 0x28]
mov dword [ebx + 0xb0], eax
mov byte [esi + edi*4 + 1], dl
cmp ecx, eax
jb 0x417de0
lea esi, [esi]
mov edx, ecx
jmp 0x417e27
mov ecx, dword [esp + 0x40]
add eax, ecx
movzx ecx, byte [ebx + 0x28]
jmp 0x417e7e
mov edx, dword [esp + 0x40]
mov ebp, ecx
mov dword [ebx + 0xac], ecx
add eax, edx
movzx edx, byte [ebx + 0x28]
mov dword [ebx + 0xb0], eax
mov byte [esi + edi*4], dl
cmp ebp, eax
jb 0x417dc7
lea esi, [esi]
nop
mov edx, ebp
jmp 0x417e17
mov eax, dword [ebx + 0x20]
test eax, eax
jne 0x418750
mov eax, dword [esp + 0x34]
mov dword [eax + 0x10], 0
mov dword [esp], 0x4e9010
call sym.___emutls_get_address
mov dword [eax], str.PNG_not_supported:_1_2_4_8_16_bit_only
jmp 0x417802
mov eax, dword [edi + 0x24]
lea ebx, [edi + 0x28]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call dword [edi + 0x10]
mov edx, dword [edi + 0xac]
sub edx, dword [edi + 0xb4]
add dword [edi + 0xa8], edx
lea edx, [edi + 0x29]
test eax, eax
je 0x418530
add eax, ebx
mov dword [edi + 0xac], edx
movzx ecx, byte [edi + 0x28]
mov dword [edi + 0xb0], eax
jmp 0x41781c
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov dword [esp], edi
call sym._memcpy
add dword [ebx + 0xac], ebp
mov dword [esp + 0x50], esi
jmp 0x417c10
test eax, eax
jle 0x417cba
xor esi, esi
mov eax, ebx
call sym.stbi__get16be_stbi__context_
mov word [esp + esi*2 + 0x9e], ax
add esi, 1
cmp dword [ebx + 8], esi
jg 0x41850a
jmp 0x417cba
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x20], 0
mov byte [eax + 0x28], 0
mov dword [eax + 0xb0], edx
mov dword [eax + 0xac], edx
jmp 0x4177f0
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x20], 0
mov byte [eax + 0x28], 0
mov dword [eax + 0xb0], ecx
mov dword [eax + 0xac], ecx
jmp 0x4177f0
mov eax, dword [ebx + 0x20]
xor edi, edi
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x4187b0
mov dword [esp + 0x58], 0
jmp 0x41832a
mov eax, 0x10000000
xor edx, edx
mov dword [ebx + 8], 1
div ecx
cmp eax, esi
jae 0x418378
jmp 0x417d48
test eax, eax
jne 0x4185d0
mov eax, 0x1000
cmp ebp, eax
cmovae eax, ebp
mov dword [esp + 0x54], eax
cmp eax, esi
jae 0x4185da
lea esi, [esi]
lea esi, [esi]
add eax, eax
cmp eax, esi
jb 0x4185d0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._realloc
mov edi, eax
test eax, eax
je 0x418ef4
mov eax, dword [esp + 0x34]
mov dword [eax + 4], edi
jmp 0x417d18
mov edi, dword [esp + 0x34]
cmp dword [edi + 0x10], 0x10
je 0x417d48
mov byte [esp + 0x48], 3
mov edi, 3
jmp 0x4182cf
cmp dword [esp + 0x44], 2
je 0x419048
mov eax, dword [esp + 0x30]
test eax, eax
je 0x417d48
cmp dword [esp + 0x30], ebp
jb 0x417d48
test ebp, ebp
je 0x4186f8
lea ecx, [ebx + 0x28]
mov dword [esp + 0x40], ebp
mov eax, dword [ebx + 0xac]
xor edi, edi
mov dword [esp + 0x48], ecx
mov edx, dword [ebx + 0xb0]
lea esi, [esp + 0xf8]
jmp 0x41868d
lea ebp, [eax + 1]
mov dword [ebx + 0xac], ebp
movzx ecx, byte [eax]
mov eax, ebp
mov byte [esi + edi*4 + 3], cl
mov ecx, dword [esp + 0x40]
add edi, 1
cmp edi, ecx
je 0x4186f8
cmp eax, edx
jb 0x418670
mov ebp, dword [ebx + 0x20]
xor ecx, ecx
test ebp, ebp
je 0x41867e
mov eax, dword [ebx + 0x24]
mov byte [esp + 0x60], cl
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call dword [ebx + 0x10]
mov edx, eax
mov eax, dword [ebx + 0xac]
sub eax, dword [ebx + 0xb4]
add dword [ebx + 0xa8], eax
lea eax, [ebx + 0x29]
test edx, edx
jne 0x418740
mov dword [ebx + 0x20], 0
movzx ecx, byte [esp + 0x60]
mov edx, eax
mov byte [ebx + 0x28], 0
mov dword [ebx + 0xb0], edx
mov dword [ebx + 0xac], eax
jmp 0x41867e
mov byte [esp + 0x48], 4
jmp 0x417c10
mov eax, dword [ebx + 0xb0]
mov dword [esp + 0x64], 1
mov dword [ebx + 0xac], eax
jmp 0x417c10
mov eax, dword [ebx + 0xb0]
mov dword [ebx + 0xac], eax
jmp 0x417c10
mov ecx, dword [esp + 0x48]
add edx, ecx
movzx ecx, byte [ebx + 0x28]
jmp 0x4186e3
mov eax, dword [ebx + 0x24]
lea edi, [ebx + 0x28]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call dword [ebx + 0x10]
lea ecx, [ebx + 0x29]
mov esi, eax
mov eax, dword [ebx + 0xac]
sub eax, dword [ebx + 0xb4]
add dword [ebx + 0xa8], eax
test esi, esi
jne 0x418970
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x20], 0
mov byte [eax + 0x28], 0
mov dword [eax + 0xb0], ecx
mov dword [eax + 0xac], ecx
jmp 0x41846b
mov eax, dword [ebx + 0x24]
lea esi, [ebx + 0x28]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call dword [ebx + 0x10]
lea edx, [ebx + 0x29]
mov ecx, eax
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0xac]
sub eax, dword [ebx + 0xb4]
add dword [ebx + 0xa8], eax
test ecx, ecx
jne 0x418989
mov dword [ebx + 0x20], 0
mov byte [ebx + 0x28], 0
mov dword [ebx + 0xb0], edx
mov dword [ebx + 0xac], edx
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x418581
mov eax, dword [ebx + 0x24]
lea esi, [ebx + 0x28]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call dword [ebx + 0x10]
mov edx, dword [ebx + 0xac]
lea ecx, [ebx + 0x29]
sub edx, dword [ebx + 0xb4]
add dword [ebx + 0xa8], edx
test eax, eax
jne 0x4189ab
mov dword [ebx + 0x20], 0
mov byte [ebx + 0x28], 0
mov dword [ebx + 0xb0], ecx
mov dword [ebx + 0xac], ecx
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x418581
mov eax, dword [ebx + 0x24]
lea esi, [ebx + 0x28]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call dword [ebx + 0x10]
mov edx, dword [ebx + 0xac]
sub edx, dword [ebx + 0xb4]
add dword [ebx + 0xa8], edx
lea edx, [ebx + 0x29]
test eax, eax
jne 0x4189c2
mov dword [ebx + 0x20], 0
mov byte [ebx + 0x28], 0
mov dword [ebx + 0xb0], edx
mov dword [ebx + 0xac], edx
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x418581
mov eax, dword [ebx + 0x24]
lea esi, [ebx + 0x28]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call dword [ebx + 0x10]
mov edx, dword [ebx + 0xac]
sub edx, dword [ebx + 0xb4]
add dword [ebx + 0xa8], edx
lea edx, [ebx + 0x29]
test eax, eax
jne 0x4189d9
mov dword [ebx + 0x20], 0
mov byte [ebx + 0x28], 0
mov dword [ebx + 0xb0], edx
mov dword [ebx + 0xac], edx
jmp 0x418581
mov edi, dword [esp + 0x2c]
add ebx, edx
mov dword [edi + 0xb0], ebx
movzx eax, byte [edi + 0x28]
mov dword [edi + 0xac], ecx
jmp 0x417b31
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 0x40], ecx
call sym._memcpy
mov ecx, dword [esp + 0x40]
lea eax, [edi + ecx]
sub ebp, ecx
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
call dword [ebx + 0x10]
mov ecx, dword [ebx + 0xb0]
mov dword [ebx + 0xac], ecx
cmp ebp, eax
je 0x4184f6
jmp 0x417d48
movzx edx, byte [ebx + 0x28]
add edi, esi
mov dword [ebx + 0xac], ecx
mov dword [ebx + 0xb0], edi
mov eax, edx
jmp 0x418267
movzx edi, byte [ebx + 0x28]
mov eax, ecx
mov dword [ebx + 0xac], edx
add eax, esi
mov ecx, edi
mov dword [ebx + 0xb0], eax
movzx esi, cl
mov dword [esp + 0x4c], esi
jmp 0x4182ad
add eax, esi
mov dword [ebx + 0xac], ecx
movzx edx, byte [ebx + 0x28]
mov dword [ebx + 0xb0], eax
jmp 0x4182e3
add eax, esi
mov dword [ebx + 0xac], edx
movzx ecx, byte [ebx + 0x28]
mov dword [ebx + 0xb0], eax
jmp 0x4182ff
movzx ecx, byte [ebx + 0x28]
add esi, eax
mov dword [ebx + 0xac], edx
mov dword [ebx + 0xb0], esi
mov dword [esp + 0x58], ecx
jmp 0x41831f
cmp ebp, 3
je 0x418093
cmp byte [esp + 0x48], 0
jne 0x418093
mov dword [esp + 0x60], ebp
mov edi, ebp
jmp 0x4180a3
mov dword [esp + 0x30], 0
jmp 0x417c10
mov dword [esp], 0
mov edx, ecx
mov eax, esi
mov ecx, ebx
call sym.stbi__malloc_mad3_int__int__int__int_
mov dword [esp + 0x40], eax
test eax, eax
je 0x418ef4
xor edx, edx
mov dword [esp + 0x84], ebp
mov ecx, dword [esp + 0x30]
mov eax, esi
mov dword [esp + 0x44], ebx
mov ebp, edx
jmp 0x418a73
add ebp, 1
cmp ebp, 7
je 0x418d4e
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x3c], edx
mov dword [esp + 0xdc], 8
xor edx, edx
mov dword [esp + 0xe0], 8
mov dword [esp + 0xe4], 4
mov dword [esp + 0xe8], 4
mov dword [esp + 0xec], 2
mov dword [esp + 0xf0], 2
mov dword [esp + 0xf4], 1
mov edi, dword [esp + ebp*4 + 0xdc]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 4
lea eax, [edi + eax - 1]
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 2
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 1
mov dword [esp + 0xbc], 0
mov esi, dword [esp + ebp*4 + 0xa4]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
sub eax, esi
div edi
mov dword [esp + 0xc8], 4
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 2
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 1
mov ebx, dword [esp + ebp*4 + 0xc0]
mov dword [esp + 0x4f8], 8
mov dword [esp + 0x4fc], 8
mov dword [esp + 0x500], 8
mov dword [esp + 0x504], 4
mov dword [esp + 0x508], 4
mov dword [esp + 0x50c], 2
mov dword [esp + 0x510], 2
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ebx
mov edx, dword [esp + ebp*4 + 0x4f8]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x5c], edx
lea eax, [edx + eax - 1]
sub eax, ebx
mov ebx, edx
xor edx, edx
div ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x54], eax
test ebx, ebx
je 0x418a58
test eax, eax
je 0x418a58
mov edx, dword [esp + 0x30]
mov ebx, eax
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
imul eax, edx
mov dword [esp + 4], edx
mov dword [esp + 0xc], ecx
imul eax, ecx
mov ecx, dword [esp + 0x74]
add eax, 7
sar eax, 3
add eax, 1
imul eax, ebx
mov ebx, edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
call sym.stbi__create_png_image_raw_stbi__png__unsigned_char__unsigned_int__int__unsigned_int__unsigned_int__int__int_
test eax, eax
je 0x419086
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x54]
mov eax, dword [eax + 0xc]
test edx, edx
jle 0x418d32
mov edx, ebx
test ebx, ebx
jle 0x418d32
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], 0
imul edx, ebx
mov dword [esp + 0x88], ebp
imul edi, ebx
mov dword [esp + 0x8c], eax
imul esi, ebx
mov dword [esp + 0x70], edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x6c], esi
lea esi, [esi]
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x58]
xor esi, esi
mov edi, dword [esp + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
lea esi, [esi]
mov ecx, dword [esp + 0x3c]
add esi, 1
mov eax, dword [ecx]
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ebp
add ebp, ebx
mov dword [esp + 8], ebx
imul eax, ebx
imul eax, ecx
mov ecx, dword [esp + 0x40]
add eax, edi
add eax, ecx
mov dword [esp], eax
call sym._memcpy
mov eax, dword [esp + 0x44]
add edi, eax
cmp dword [esp + 0x30], esi
jne 0x418cc8
mov edi, dword [esp + 0x70]
add dword [esp + 0x50], 1
add dword [esp + 0x58], edi
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x5c]
add dword [esp + 0x38], edi
cmp dword [esp + 0x54], eax
jne 0x418cb0
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
call sym._free
mov edx, dword [esp + 0x80]
add dword [esp + 0x78], edx
sub dword [esp + 0x74], edx
jmp 0x418a58
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x84]
mov dword [eax + 0xc], edx
jmp 0x41810f
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov ecx, dword [edi]
mov ebx, dword [eax + 0xc]
mov eax, dword [edi + 0xc]
mov edx, dword [ecx]
imul edx, dword [ecx + 4]
cmp dword [edi + 0x10], 0x10
je 0x418f5c
cmp ebx, 2
je 0x418dd5
test edx, edx
je 0x418dfc
mov dword [esp + 0x30], edx
movzx ebx, byte [esp + 0x9b]
xor ecx, ecx
movzx edi, byte [esp + 0x9c]
movzx esi, byte [esp + 0x9d]
jmp 0x418db9
mov edx, dword [esp + 0x30]
add ecx, 1
cmp ecx, edx
je 0x418dfc
cmp byte [eax + ecx*4], bl
jne 0x418dae
mov edx, edi
cmp byte [eax + ecx*4 + 1], dl
jne 0x418dae
mov edx, esi
cmp byte [eax + ecx*4 + 2], dl
jne 0x418dae
mov byte [eax + ecx*4 + 3], 0
jmp 0x418dae
test edx, edx
je 0x418dfc
movzx esi, byte [esp + 0x9b]
mov ebx, edx
xor ecx, ecx
mov edx, esi
mov esi, ebx
cmp byte [eax + ecx*2], dl
setne bl
neg ebx
mov byte [eax + ecx*2 + 1], bl
add ecx, 1
cmp ecx, esi
jne 0x418de9
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x418e33
cmp byte [esp + 0x48], 0
jne 0x418131
mov eax, dword [esp + 0x2c]
add dword [eax + 8], 1
jmp 0x4181d9
mov dword [esp], 0x4e9010
call sym.___emutls_get_address
mov dword [eax], str.Very_large_image__corrupt__
jmp 0x417802
mov dword [esp], 0x4e9070
call sym.___emutls_get_address
mov edx, dword [eax]
test edx, edx
je 0x418f52
mov dword [esp], 0x4e9060
call sym.___emutls_get_address
mov eax, dword [eax]
test eax, eax
je 0x418e69
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0xc], 2
jg 0x418fd7
cmp byte [esp + 0x48], 0
jne 0x418131
cmp byte [esp + 0x6b], 0
jne 0x418e0f
jmp 0x4181d9
mov dword [esp], eax
call sym._free
mov eax, dword [esp + 0x34]
mov dword [eax + 8], 0
jmp 0x417802
mov eax, dword [esp + 0x30]
mov esi, edi
mov ecx, eax
lea edx, [ebx + eax]
test ebx, ebx
je 0x4181c6
lea esi, [esi]
nop
movzx eax, byte [ecx]
add ecx, 1
add esi, 4
shl eax, 2
movzx ebx, byte [esp + eax + 0xf8]
movzx ebp, byte [esp + eax + 0xfa]
mov bh, byte [esp + eax + 0xf9]
movzx eax, byte [esp + eax + 0xfb]
shl ebp, 0x10
movzx ebx, bx
shl eax, 0x18
or ebx, ebp
or eax, ebx
mov dword [esi - 4], eax
cmp edx, ecx
jne 0x418eb0
jmp 0x4181c6
mov dword [esp], 0x4e9010
call sym.___emutls_get_address
mov dword [eax], str.Out_of_memory
jmp 0x417802
mov dword [esp], 0x4e9010
call sym.___emutls_get_address
mov dword [eax], str.PNG_not_supported:_unknown_PNG_chunk_type
jmp 0x417802
mov dword [esp], 0x4e9010
call sym.___emutls_get_address
mov dword [eax], str.IDAT_section_larger_than_230_bytes
jmp 0x417802
movzx eax, byte [esp + 0x48]
test al, al
je 0x4181f8
mov edx, dword [esp + 0x2c]
mov dword [edx + 8], eax
jmp 0x4181f8
mov eax, dword [0x530158]
jmp 0x418e57
cmp ebx, 2
je 0x419058
test edx, edx
je 0x418dfc
movzx ebx, word [esp + 0x9e]
movzx edi, word [esp + 0xa0]
xor ecx, ecx
movzx esi, word [esp + 0xa2]
jmp 0x418f94
add ecx, 1
cmp ecx, edx
je 0x418dfc
cmp word [eax + ecx*8], bx
jne 0x418f89
cmp word [eax + ecx*8 + 2], di
jne 0x418f89
cmp word [eax + ecx*8 + 4], si
jne 0x418f89
mov word [eax + ecx*8 + 6], 0
jmp 0x418f89
mov edx, dword [esp + 0x2c]
add eax, 1
mov dword [edx + 8], eax
jmp 0x4181f8
mov dword [esp], 0x4e9010
call sym.___emutls_get_address
mov dword [eax], str.Image_too_large_to_decode
jmp 0x417802
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov ebx, dword [edx + 0xc]
mov edx, dword [eax]
imul edx, dword [eax + 4]
cmp dword [eax + 0xc], 3
mov dword [esp + 0x30], edx
je 0x41911a
mov dword [esp], 0x4e9050
call sym.___emutls_get_address
mov edx, eax
mov eax, dword [0x53015c]
mov edx, dword [edx]
test edx, edx
je 0x41901b
mov dword [esp], 0x4e9040
call sym.___emutls_get_address
mov eax, dword [eax]
test eax, eax
jne 0x419097
cmp dword [esp + 0x30], 0
je 0x418e69
movzx edx, byte [ebx + eax*4]
movzx ecx, byte [ebx + eax*4 + 2]
mov byte [ebx + eax*4 + 2], dl
mov byte [ebx + eax*4], cl
add eax, 1
cmp dword [esp + 0x30], eax
jne 0x41902a
jmp 0x418e69
mov eax, dword [esp + 0x2c]
mov dword [eax + 8], 4
jmp 0x4181f8
test edx, edx
je 0x418dfc
movzx esi, word [esp + 0x9e]
xor ecx, ecx
xor ebx, ebx
cmp word [eax + ecx*4], si
setne bl
neg ebx
mov word [eax + ecx*4 + 2], bx
add ecx, 1
cmp ecx, edx
jne 0x41906a
jmp 0x418dfc
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym._free
jmp 0x417802
cmp dword [esp + 0x30], 0
je 0x418e69
xor eax, eax
mov dword [esp + 0x3c], ebp
mov ebp, eax
jmp 0x4190fb
movzx edx, byte [ebx + 1]
mov eax, ecx
shr al, 1
movzx edi, al
mov eax, edx
shl eax, 8
sub eax, edx
add eax, edi
cdq
idiv ecx
mov edx, esi
movzx esi, dl
mov edx, esi
shl edx, 8
mov byte [ebx + 1], al
mov eax, edx
sub eax, esi
add eax, edi
cdq
idiv ecx
movzx edx, byte [esp + 0x38]
mov byte [ebx + 2], al
mov eax, edx
shl eax, 8
sub eax, edx
add eax, edi
cdq
idiv ecx
mov byte [ebx], al
add ebp, 1
add ebx, 4
cmp dword [esp + 0x30], ebp
je 0x419140
movzx eax, byte [ebx + 2]
movzx ecx, byte [ebx + 3]
movzx esi, byte [ebx]
mov byte [esp + 0x38], al
test cl, cl
jne 0x4190ac
mov eax, esi
mov byte [ebx + 2], al
movzx eax, byte [esp + 0x38]
jmp 0x4190ed
test edx, edx
je 0x418e69
lea eax, [edx + edx*2]
add eax, ebx
movzx edx, byte [ebx]
movzx ecx, byte [ebx + 2]
add ebx, 3
mov byte [ebx - 3], cl
mov byte [ebx - 1], dl
cmp ebx, eax
jne 0x419127
jmp 0x418e69
mov ebp, dword [esp + 0x3c]
jmp 0x418e69