Function at 0x61ec1c70
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xbc
mov edi, dword [ebp + 8]
mov dword [esp], 0x61ed8060
call sym.libintl_8.dll_libintl_recursive_lock_lock_func
test eax, eax
jne 0x61ec2433
mov ecx, dword [edi + 4]
test ecx, ecx
jne 0x61ec1f6b
mov eax, dword [edi]
mov dword [edi + 4], 0xffffffff
mov dword [edi + 8], 0
test eax, eax
je 0x61ec1f64
mov dword [esp + 4], 0x8000
mov dword [esp], eax
call sub.msvcrt.dll__open
cmp eax, 0xffffffff
mov ebx, eax
je 0x61ec1f64
lea eax, [ebp - 0x48]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll__fstati64]
test eax, eax
jne 0x61ec1fb2
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
test edx, edx
mov dword [ebp - 0x60], eax
jne 0x61ec1fb2
cmp eax, 0x2f
mov esi, eax
jbe 0x61ec1fb2
mov dword [esp], eax
call sub.msvcrt.dll_malloc
test eax, eax
mov dword [ebp - 0x5c], eax
je 0x61ec1fb2
mov dword [ebp + 8], edi
mov edi, esi
mov esi, eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
call sub.msvcrt.dll__read
test eax, eax
jle 0x61ec1f90
add esi, eax
sub edi, eax
test edi, edi
jne 0x61ec1d1f
mov dword [esp], ebx
mov edi, dword [ebp + 8]
call sub.msvcrt.dll__close
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
cmp eax, 0x950412de
mov dword [ebp - 0x64], eax
setne bl
cmp eax, 0xde120495
je 0x61ec1d69
test bl, bl
jne 0x61ec2415
mov dword [esp], 0x8c
call sub.msvcrt.dll_malloc
test eax, eax
mov esi, eax
je 0x61ec1f64
mov dword [edi + 8], eax
cmp dword [ebp - 0x64], 0x950412de
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [esi + 4], 0
mov dword [esi + 0x10], 0
mov dword [esi + 8], eax
movzx eax, bl
mov dword [esi], ecx
mov dword [esi + 0xc], eax
je 0x61ec1fbc
mov edx, dword [ecx + 4]
bswap edx
cmp edx, 0x1ffff
ja 0x61ec210d
mov ebx, dword [ebp - 0x5c]
mov ecx, dword [ebx + 8]
bswap ecx
mov dword [esi + 0x14], ecx
mov ecx, dword [ebx + 0xc]
bswap ecx
add ecx, ebx
mov dword [esi + 0x18], ecx
mov ecx, dword [ebx + 0x10]
bswap ecx
add ecx, ebx
mov dword [esi + 0x1c], ecx
mov ecx, dword [ebx + 0x14]
bswap ecx
cmp ecx, 2
mov dword [ebp - 0x6c], ecx
mov dword [esi + 0x2c], ecx
jbe 0x61ec20d0
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x18]
bswap ecx
add ecx, dword [ebp - 0x5c]
test dx, dx
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ecx
je 0x61ec1eeb
test ecx, ecx
je 0x61ec20e3
cmp dword [ebp - 0x64], 0x950412de
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24]
je 0x61ec2111
bswap eax
test eax, eax
mov dword [ebp - 0x80], eax
je 0x61ec1eeb
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x1c]
bswap eax
mov ecx, eax
mov dword [ebp - 0x60], eax
mov eax, dword [edx + 0x20]
bswap eax
add edx, eax
lea eax, [ecx*4 + 0x1e]
shr eax, 4
shl eax, 4
call fcn.61ed0290
sub esp, eax
lea eax, [esp + 0x23]
and eax, 0xfffffff0
test ecx, ecx
mov dword [ebp - 0x68], eax
je 0x61ec244b
lea ebx, [edx + 4]
xor eax, eax
mov dword [ebp - 0x70], esi
mov dword [ebp + 8], edi
mov edi, eax
mov esi, ebx
jmp 0x61ec1ed8
mov edx, dword [esi]
mov eax, dword [esi - 4]
bswap edx
add edx, dword [ebp - 0x5c]
bswap eax
test eax, eax
je 0x61ec2425
cmp byte [edx + eax - 1], 0
jne 0x61ec2425
movzx eax, byte [edx]
cmp al, 0x50
je 0x61ec2004
cmp al, 0x49
jne 0x61ec2d6e
cmp byte [edx + 1], 0
mov eax, 0
mov edx, 0x61ed9038
cmove eax, edx
mov ecx, dword [ebp - 0x68]
add esi, 8
mov dword [ecx + edi*4], eax
add edi, 1
cmp dword [ebp - 0x60], edi
jbe 0x61ec2438
cmp dword [ebp - 0x64], 0x950412de
jne 0x61ec1e80
mov edx, dword [ebp - 0x5c]
mov eax, dword [esi - 4]
add edx, dword [esi]
jmp 0x61ec1e8c
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
lea eax, [esi + 0x40]
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esp], eax
call sym.libintl_8.dll_libintl_rwlock_init_func
lea eax, [ebp - 0x50]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x61ed9038
mov dword [esp], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
call sym.libintl_8.dll__nl_find_msg
cmp eax, 0xffffffff
je 0x61ec20e3
lea edx, [esi + 0x88]
mov dword [esp], eax
mov dword [esp + 8], edx
lea edx, [esi + 0x84]
mov dword [esp + 4], edx
call sym.libintl_8.dll_libintl_gettext_extract_plural
mov dword [edi + 4], 1
mov dword [esp], 0x61ed8060
call sym.libintl_8.dll_libintl_recursive_lock_unlock_func
test eax, eax
jne 0x61ec2433
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0xffffffff
jne 0x61ec1fa4
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 4
je 0x61ec1d3b
mov eax, dword [ebp - 0x5c]
mov edi, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp], ebx
call sub.msvcrt.dll__close
jmp 0x61ec1f64
mov edx, dword [ebp - 0x5c]
mov edx, dword [edx + 4]
cmp edx, 0x1ffff
ja 0x61ec210d
mov ebx, dword [ebp - 0x5c]
mov ecx, dword [ebx + 8]
mov dword [esi + 0x14], ecx
mov ecx, dword [ebx + 0xc]
add ecx, ebx
mov dword [esi + 0x18], ecx
mov ecx, dword [ebx + 0x10]
add ecx, ebx
mov dword [esi + 0x1c], ecx
mov ecx, dword [ebx + 0x14]
cmp ecx, 2
mov dword [ebp - 0x6c], ecx
mov dword [esi + 0x2c], ecx
jbe 0x61ec20d0
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x18]
jmp 0x61ec1dfa
xor eax, eax
cmp byte [edx + 1], 0x52
jne 0x61ec1ec3
cmp byte [edx + 2], 0x49
jne 0x61ec1ec3
movzx ebx, byte [edx + 3]
mov byte [ebp - 0x74], 1
lea ecx, [ebx - 0x64]
cmp cl, 0x11
ja 0x61ec203d
mov eax, 0x20821
shr eax, cl
and eax, 1
xor eax, 1
and eax, 1
mov byte [ebp - 0x74], al
mov eax, ebx
and eax, 0xffffffdf
cmp al, 0x58
sete cl
xor eax, eax
cmp cl, byte [ebp - 0x74]
jb 0x61ec1ec3
movzx ecx, byte [edx + 4]
cmp cl, 0x38
je 0x61ec26c7
cmp cl, 0x31
je 0x61ec2630
cmp cl, 0x33
je 0x61ec25dc
cmp cl, 0x36
jne 0x61ec2793
cmp byte [edx + 5], 0x34
jne 0x61ec1ec3
cmp byte [edx + 6], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec274d
cmp bl, 0x69
je 0x61ec2743
cmp bl, 0x6f
je 0x61ec2757
cmp bl, 0x75
je 0x61ec2709
cmp bl, 0x78
je 0x61ec2721
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed903d
jmp 0x61ec1ec3
test dx, dx
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], eax
je 0x61ec1eeb
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [esp], esi
call sub.msvcrt.dll_free
mov dword [edi + 8], 0
jmp 0x61ec1f64
xor eax, eax
jmp 0x61ec20e6
test eax, eax
mov dword [ebp - 0x80], eax
je 0x61ec1eeb
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x1c]
mov ecx, edx
mov dword [ebp - 0x60], edx
mov edx, dword [eax + 0x20]
add edx, eax
lea eax, [ecx*4 + 0x1e]
shr eax, 4
shl eax, 4
call fcn.61ed0290
sub esp, eax
lea eax, [esp + 0x23]
and eax, 0xfffffff0
test ecx, ecx
mov dword [ebp - 0x68], eax
jne 0x61ec1e6e
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax + 0x28]
add edx, eax
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x74], edx
add eax, dword [ebp - 0x5c]
mov dword [ebp + 8], edi
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x6c]
shl eax, 2
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x6c], 0
cmp dword [ebp - 0x64], 0x950412de
je 0x61ec23f2
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x61ec2713
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x70]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x5c]
bswap eax
add edx, eax
cmp dword [edx + 8], 0xffffffff
setne al
test al, al
je 0x61ec2210
lea esi, [edx + 4]
xor ebx, ebx
jmp 0x61ec2200
mov eax, dword [esi]
bswap eax
add ebx, eax
mov eax, dword [esi + 4]
bswap eax
cmp eax, 0xffffffff
je 0x61ec2212
cmp dword [ebp - 0x60], eax
jbe 0x61ec2464
mov eax, dword [edi + eax*4]
test eax, eax
je 0x61ec2238
mov dword [esp], eax
add esi, 8
call sub.msvcrt.dll_strlen
add ebx, eax
cmp dword [ebp - 0x64], 0x950412de
jne 0x61ec21d3
add ebx, dword [esi]
mov eax, dword [esi + 4]
jmp 0x61ec21de
xor ebx, ebx
mov eax, dword [ebp - 0x6c]
mov dword [ebp + eax*4 - 0x50], ebx
add eax, 1
cmp eax, 2
mov dword [ebp - 0x6c], eax
jne 0x61ec2199
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x50]
add dword [ebp - 0x78], 1
add dword [ebp - 0x84], eax
add dword [ebp - 0x70], 1
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x80], eax
ja 0x61ec2192
mov eax, dword [ebp - 0x78]
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp + 8]
test eax, eax
je 0x61ec1eeb
shl eax, 4
add eax, dword [ebp - 0x84]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
test eax, eax
mov dword [ebp - 0x70], eax
je 0x61ec20e3
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x70]
mov dword [ebp + 8], edi
mov dword [ebp - 0x84], 0
shl eax, 3
mov dword [esi + 0x10], edx
add edx, eax
add eax, edx
mov dword [ebp - 0x94], edx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x8c], esi
add edx, eax
mov dword [ebp - 0x60], edx
xor edx, edx
mov edi, edx
mov eax, dword [ebp - 0x8c]
xor edx, edx
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x88], eax
mov ecx, eax
test ecx, ecx
je 0x61ec25b0
test edx, edx
je 0x61ec2d22
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + edi*4]
bswap eax
add eax, dword [ebp - 0x5c]
cmp dword [eax + 8], 0xffffffff
setne bl
test bl, bl
je 0x61ec2310
add eax, 4
mov esi, dword [ebp - 0x68]
jmp 0x61ec2302
mov ebx, dword [esi + ebx*4]
test ebx, ebx
je 0x61ec24cb
add eax, 8
test ecx, ecx
mov ebx, dword [eax + 4]
je 0x61ec230b
bswap ebx
cmp ebx, 0xffffffff
jne 0x61ec22f4
add edx, 1
cmp edx, 2
jne 0x61ec22c6
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x70]
mov ecx, edi
mov dword [ebp - 0x6c], 0
shl eax, 3
add edx, eax
add eax, dword [ebp - 0x94]
mov dword [ebp - 0x90], edx
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x88], 0
je 0x61ec2684
cmp dword [ebp - 0x6c], 0
je 0x61ec2d75
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x98]
mov ebx, dword [eax + ecx*4]
bswap ebx
add ebx, edx
mov eax, dword [ebx]
bswap eax
add edx, eax
cmp dword [ebx + 8], 0xffffffff
je 0x61ec25cd
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x9c], esi
add ebx, 4
mov dword [ebp - 0xa0], ecx
mov dword [esi + 4], eax
mov esi, edx
jmp 0x61ec23e1
mov ecx, dword [ebx + 4]
bswap edi
bswap ecx
test edi, edi
jne 0x61ec2475
cmp ecx, 0xffffffff
je 0x61ec249e
mov eax, dword [ebp - 0x68]
add ebx, 8
mov ecx, dword [eax + ecx*4]
mov dword [esp], ecx
mov dword [ebp - 0xa4], ecx
call sub.msvcrt.dll_strlen
mov ecx, dword [ebp - 0xa4]
mov edi, eax
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x60]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
add dword [ebp - 0x60], edi
mov eax, dword [ebp - 0x88]
mov edi, dword [ebx]
test eax, eax
jne 0x61ec2394
mov ecx, dword [ebx + 4]
jmp 0x61ec239b
mov esi, dword [ebp - 0x6c]
test esi, esi
je 0x61ec2d60
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x70]
mov edx, dword [eax + edx*4]
add edx, dword [ebp - 0x5c]
cmp dword [edx + 8], 0xffffffff
setne al
jmp 0x61ec21c8
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call sub.msvcrt.dll_free
jmp 0x61ec1f64
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x10]
jmp 0x61ec20e6
call sub.msvcrt.dll_abort
cmp dword [ebp - 0x64], 0x950412de
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp + 8]
je 0x61ec2152
mov edx, dword [ebp - 0x5c]
mov eax, dword [edx + 0x28]
bswap eax
mov ecx, eax
mov eax, dword [edx + 0x2c]
add ecx, edx
mov dword [ebp - 0x74], ecx
bswap eax
jmp 0x61ec2160
mov esi, dword [ebp - 0x88]
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x10]
jmp 0x61ec20e6
mov eax, dword [ebp - 0x60]
mov dword [esp + 4], esi
add esi, edi
mov dword [esp + 8], edi
mov dword [ebp - 0xa4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
add dword [ebp - 0x60], edi
mov ecx, dword [ebp - 0xa4]
jmp 0x61ec23a3
mov esi, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xa0]
sub eax, dword [esi + 4]
mov dword [esi], eax
add dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x6c]
cmp eax, 2
jne 0x61ec26b3
add dword [ebp - 0x84], 1
mov edi, ecx
add edi, 1
cmp dword [ebp - 0x80], edi
jne 0x61ec22b3
mov edx, dword [ebp - 0x84]
cmp dword [ebp - 0x78], edx
mov esi, dword [ebp - 0x8c]
mov edi, dword [ebp + 8]
jne 0x61ec2433
mov ecx, dword [esi + 0x2c]
xor edx, edx
jmp 0x61ec250d
cmp dword [esi + 0x34], 0
mov eax, dword [esi + 0x30]
mov eax, dword [eax + edx*4]
je 0x61ec2504
bswap eax
mov ebx, dword [ebp - 0x64]
mov dword [ebx + edx*4], eax
add edx, 1
cmp edx, ecx
jne 0x61ec24f6
mov dword [ebp - 0x60], 0
mov dword [ebp + 8], edi
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + edx*8 + 4]
mov dword [esp], eax
call sym.libintl_8.dll_libintl_hash_string
xor edx, edx
mov ebx, eax
div dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
lea edi, [eax - 2]
mov eax, ebx
mov ecx, edx
xor edx, edx
div edi
mov edi, dword [esi + 0x2c]
lea eax, [edx + 1]
mov edx, eax
sub edx, dword [esi + 0x2c]
sub edi, eax
mov dword [ebp - 0x68], edx
jmp 0x61ec2563
mov edx, dword [ebp - 0x68]
lea ebx, [ecx + eax]
add edx, ecx
cmp ecx, edi
cmovb edx, ebx
mov ecx, edx
mov edx, dword [ebp - 0x64]
lea edx, [edx + ecx*4]
mov ebx, dword [edx]
test ebx, ebx
jne 0x61ec2554
mov ecx, dword [ebp - 0x60]
mov eax, dword [esi + 0x14]
lea eax, [ecx + eax + 1]
add ecx, 1
cmp dword [ebp - 0x78], ecx
mov dword [ebp - 0x60], ecx
mov dword [edx], eax
jne 0x61ec251b
mov eax, dword [ebp - 0x78]
mov edi, dword [ebp + 8]
mov dword [esi + 0x34], 0
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x70]
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0x94]
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x64]
mov dword [esi + 0x30], eax
jmp 0x61ec1f00
test edx, edx
je 0x61ec2d2d
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + edi*4]
add eax, dword [ebp - 0x5c]
cmp dword [eax + 8], 0xffffffff
setne bl
jmp 0x61ec22e8
mov eax, dword [ebx + 4]
bswap eax
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x61ec24b2
cmp byte [edx + 5], 0x32
jne 0x61ec1ec3
cmp byte [edx + 6], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec2d56
cmp bl, 0x69
je 0x61ec2d4c
cmp bl, 0x6f
je 0x61ec2d42
cmp bl, 0x75
je 0x61ec2d38
cmp bl, 0x78
je 0x61ec282e
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed902e
jmp 0x61ec1ec3
cmp byte [edx + 5], 0x36
jne 0x61ec1ec3
cmp byte [edx + 6], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec2dbb
cmp bl, 0x69
je 0x61ec2db1
cmp bl, 0x6f
je 0x61ec2da7
cmp bl, 0x75
je 0x61ec2d9d
cmp bl, 0x78
je 0x61ec2d93
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed902e
jmp 0x61ec1ec3
cmp dword [ebp - 0x6c], 0
je 0x61ec272b
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x98]
mov ebx, dword [eax + ecx*4]
add ebx, edx
add edx, dword [ebx]
cmp dword [ebx + 8], 0xffffffff
jne 0x61ec237b
mov eax, dword [ebx + 4]
jmp 0x61ec25d2
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x88], eax
jmp 0x61ec2341
cmp byte [edx + 5], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec2789
cmp bl, 0x69
je 0x61ec277f
cmp bl, 0x6f
je 0x61ec2775
cmp bl, 0x75
je 0x61ec276b
cmp bl, 0x78
je 0x61ec2761
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed902e
jmp 0x61ec1ec3
mov eax, 0x61ed9039
jmp 0x61ec1ec3
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov eax, dword [eax + edx*4]
jmp 0x61ec21ba
mov eax, 0x61ed9034
jmp 0x61ec1ec3
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x90]
mov ebx, dword [eax + ecx*4]
add ebx, edx
add edx, dword [ebx]
jmp 0x61ec26a1
mov eax, 0x61ed9045
jmp 0x61ec1ec3
mov eax, 0x61ed9041
jmp 0x61ec1ec3
mov eax, 0x61ed9030
jmp 0x61ec1ec3
mov eax, 0x61ed902c
jmp 0x61ec1ec3
mov eax, 0x61ed902a
jmp 0x61ec1ec3
mov eax, 0x61ed9028
jmp 0x61ec1ec3
mov eax, 0x61ed9026
jmp 0x61ec1ec3
mov eax, str.diouxX
jmp 0x61ec1ec3
cmp cl, 0x4c
jne 0x61ec29a8
cmp byte [edx + 5], 0x45
jne 0x61ec1ec3
cmp byte [edx + 6], 0x41
jne 0x61ec1ec3
cmp byte [edx + 7], 0x53
jne 0x61ec1ec3
cmp byte [edx + 8], 0x54
jne 0x61ec1ec3
movzx ecx, byte [edx + 9]
cmp cl, 0x38
je 0x61ec295e
xor eax, eax
cmp cl, 0x31
je 0x61ec28ba
cmp cl, 0x33
je 0x61ec286a
cmp cl, 0x36
jne 0x61ec1ec3
cmp byte [edx + 0xa], 0x34
jne 0x61ec1ec3
cmp byte [edx + 0xb], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec2860
cmp bl, 0x69
je 0x61ec2856
cmp bl, 0x6f
je 0x61ec284c
cmp bl, 0x75
je 0x61ec2842
cmp bl, 0x78
je 0x61ec2838
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed903d
jmp 0x61ec1ec3
mov eax, 0x61ed902c
jmp 0x61ec1ec3
mov eax, 0x61ed9034
jmp 0x61ec1ec3
mov eax, 0x61ed9039
jmp 0x61ec1ec3
mov eax, 0x61ed9030
jmp 0x61ec1ec3
mov eax, 0x61ed9045
jmp 0x61ec1ec3
mov eax, 0x61ed9041
jmp 0x61ec1ec3
cmp byte [edx + 0xa], 0x32
jne 0x61ec1ec3
cmp byte [edx + 0xb], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec2954
cmp bl, 0x69
je 0x61ec294a
cmp bl, 0x6f
je 0x61ec2940
cmp bl, 0x75
je 0x61ec2936
cmp bl, 0x78
je 0x61ec28fa
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed902e
jmp 0x61ec1ec3
cmp byte [edx + 0xa], 0x36
jne 0x61ec1ec3
cmp byte [edx + 0xb], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec292c
cmp bl, 0x69
je 0x61ec2922
cmp bl, 0x6f
je 0x61ec2918
cmp bl, 0x75
je 0x61ec290e
cmp bl, 0x78
je 0x61ec2904
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed902e
jmp 0x61ec1ec3
mov eax, 0x61ed902c
jmp 0x61ec1ec3
mov eax, 0x61ed902c
jmp 0x61ec1ec3
mov eax, 0x61ed902a
jmp 0x61ec1ec3
mov eax, 0x61ed9028
jmp 0x61ec1ec3
mov eax, 0x61ed9026
jmp 0x61ec1ec3
mov eax, str.diouxX
jmp 0x61ec1ec3
mov eax, 0x61ed902a
jmp 0x61ec1ec3
mov eax, 0x61ed9028
jmp 0x61ec1ec3
mov eax, 0x61ed9026
jmp 0x61ec1ec3
mov eax, str.diouxX
jmp 0x61ec1ec3
cmp byte [edx + 0xa], 0
jne 0x61ec2d1b
cmp bl, 0x64
je 0x61ec2d11
cmp bl, 0x69
je 0x61ec2a4d
cmp bl, 0x6f
je 0x61ec2a43
cmp bl, 0x75
je 0x61ec2a57
cmp bl, 0x78
je 0x61ec2a39
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed902e
jmp 0x61ec1ec3
cmp cl, 0x46
jne 0x61ec2bc9
cmp byte [edx + 5], 0x41
jne 0x61ec1ec3
cmp byte [edx + 6], 0x53
jne 0x61ec1ec3
cmp byte [edx + 7], 0x54
jne 0x61ec1ec3
movzx ecx, byte [edx + 8]
cmp cl, 0x38
je 0x61ec2b87
xor eax, eax
cmp cl, 0x31
je 0x61ec2ae3
cmp cl, 0x33
je 0x61ec2a93
cmp cl, 0x36
jne 0x61ec1ec3
cmp byte [edx + 9], 0x34
jne 0x61ec1ec3
cmp byte [edx + 0xa], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec2a89
cmp bl, 0x69
je 0x61ec2a7f
cmp bl, 0x6f
je 0x61ec2a75
cmp bl, 0x75
je 0x61ec2a6b
cmp bl, 0x78
je 0x61ec2a61
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed903d
jmp 0x61ec1ec3
mov eax, 0x61ed902c
jmp 0x61ec1ec3
mov eax, 0x61ed9028
jmp 0x61ec1ec3
mov eax, 0x61ed9026
jmp 0x61ec1ec3
mov eax, 0x61ed902a
jmp 0x61ec1ec3
mov eax, 0x61ed9034
jmp 0x61ec1ec3
mov eax, 0x61ed9039
jmp 0x61ec1ec3
mov eax, 0x61ed9030
jmp 0x61ec1ec3
mov eax, 0x61ed9045
jmp 0x61ec1ec3
mov eax, 0x61ed9041
jmp 0x61ec1ec3
cmp byte [edx + 9], 0x32
jne 0x61ec1ec3
cmp byte [edx + 0xa], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec2b7d
cmp bl, 0x69
je 0x61ec2b73
cmp bl, 0x6f
je 0x61ec2b69
cmp bl, 0x75
je 0x61ec2b5f
cmp bl, 0x78
je 0x61ec2b23
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed902e
jmp 0x61ec1ec3
cmp byte [edx + 9], 0x36
jne 0x61ec1ec3
cmp byte [edx + 0xa], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec2b55
cmp bl, 0x69
je 0x61ec2b4b
cmp bl, 0x6f
je 0x61ec2b41
cmp bl, 0x75
je 0x61ec2b37
cmp bl, 0x78
je 0x61ec2b2d
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed902e
jmp 0x61ec1ec3
mov eax, 0x61ed902c
jmp 0x61ec1ec3
mov eax, 0x61ed902c
jmp 0x61ec1ec3
mov eax, 0x61ed902a
jmp 0x61ec1ec3
mov eax, 0x61ed9028
jmp 0x61ec1ec3
mov eax, 0x61ed9026
jmp 0x61ec1ec3
mov eax, str.diouxX
jmp 0x61ec1ec3
mov eax, 0x61ed902a
jmp 0x61ec1ec3
mov eax, 0x61ed9028
jmp 0x61ec1ec3
mov eax, 0x61ed9026
jmp 0x61ec1ec3
mov eax, str.diouxX
jmp 0x61ec1ec3
cmp byte [edx + 9], 0
jne 0x61ec2cce
cmp bl, 0x64
je 0x61ec2cc4
cmp bl, 0x69
je 0x61ec2cd5
cmp bl, 0x6f
je 0x61ec2cba
cmp bl, 0x75
je 0x61ec2c22
cmp bl, 0x78
je 0x61ec2c18
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed902e
jmp 0x61ec1ec3
cmp cl, 0x4d
jne 0x61ec2c65
cmp byte [edx + 5], 0x41
jne 0x61ec1ec3
cmp byte [edx + 6], 0x58
jne 0x61ec1ec3
cmp byte [edx + 7], 0
jne 0x61ec2c5e
cmp bl, 0x64
je 0x61ec2c54
cmp bl, 0x69
je 0x61ec2c4a
cmp bl, 0x6f
je 0x61ec2c40
cmp bl, 0x75
je 0x61ec2c36
cmp bl, 0x78
je 0x61ec2c2c
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed903d
jmp 0x61ec1ec3
mov eax, 0x61ed902c
jmp 0x61ec1ec3
mov eax, 0x61ed902a
jmp 0x61ec1ec3
mov eax, 0x61ed9034
jmp 0x61ec1ec3
mov eax, 0x61ed9039
jmp 0x61ec1ec3
mov eax, 0x61ed9030
jmp 0x61ec1ec3
mov eax, 0x61ed9045
jmp 0x61ec1ec3
mov eax, 0x61ed9041
jmp 0x61ec1ec3
xor eax, eax
jmp 0x61ec1ec3
cmp cl, 0x50
jne 0x61ec1ec3
cmp byte [edx + 5], 0x54
jne 0x61ec1ec3
xor eax, eax
cmp byte [edx + 6], 0x52
jne 0x61ec1ec3
cmp byte [edx + 7], 0
jne 0x61ec1ec3
cmp bl, 0x64
je 0x61ec2d07
cmp bl, 0x69
je 0x61ec2cfd
cmp bl, 0x6f
je 0x61ec2cf3
cmp bl, 0x75
je 0x61ec2ce9
cmp bl, 0x78
je 0x61ec2cdf
cmp bl, 0x58
jne 0x61ec2433
mov eax, 0x61ed902e
jmp 0x61ec1ec3
mov eax, 0x61ed9028
jmp 0x61ec1ec3
mov eax, str.diouxX
jmp 0x61ec1ec3
xor eax, eax
jmp 0x61ec1ec3
mov eax, 0x61ed9026
jmp 0x61ec1ec3
mov eax, 0x61ed902c
jmp 0x61ec1ec3
mov eax, 0x61ed902a
jmp 0x61ec1ec3
mov eax, 0x61ed9028
jmp 0x61ec1ec3
mov eax, 0x61ed9026
jmp 0x61ec1ec3
mov eax, str.diouxX
jmp 0x61ec1ec3
mov eax, str.diouxX
jmp 0x61ec1ec3
xor eax, eax
jmp 0x61ec1ec3
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + edi*4]
jmp 0x61ec22dc
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + edi*4]
jmp 0x61ec25be
mov eax, 0x61ed902a
jmp 0x61ec1ec3
mov eax, 0x61ed9028
jmp 0x61ec1ec3
mov eax, 0x61ed9026
jmp 0x61ec1ec3
mov eax, str.diouxX
jmp 0x61ec1ec3
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov edx, dword [eax + edx*4]
jmp 0x61ec2406
xor eax, eax
jmp 0x61ec1ec3
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x90]
mov ebx, dword [eax + ecx*4]
bswap ebx
add ebx, edx
mov eax, dword [ebx]
bswap eax
add edx, eax
jmp 0x61ec2371
mov eax, 0x61ed902c
jmp 0x61ec1ec3
mov eax, 0x61ed902a
jmp 0x61ec1ec3
mov eax, 0x61ed9028
jmp 0x61ec1ec3
mov eax, 0x61ed9026
jmp 0x61ec1ec3
mov eax, str.diouxX
jmp 0x61ec1ec3