Function at 0x1e0aa306
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x13c
push ebx
push esi
xor esi, esi
push edi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
cmp dword [ebp + 8], esi
je 0x1e0aadda
cmp dword [ebp + 0xc], esi
je 0x1e0aadda
push dword [ebp + 8]
call sym.python27.dll_PyUnicodeUCS2_FromObject
pop ecx
mov dword [esp + 0x54], eax
cmp eax, esi
je 0x1e0aadeb
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
add eax, 0x64
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], eax
call fcn.1e0a013f
mov dword [esp + 0x34], eax
cmp eax, esi
je 0x1e0aad8a
mov eax, dword [eax + 0xc]
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 4]
mov esi, 0x4000000
test dword [eax + 0x54], esi
je 0x1e0aa395
push ebx
call sym.python27.dll_PyTuple_Size
and dword [esp + 0x40], 0
pop ecx
mov dword [esp + 0x38], eax
jmp 0x1e0aa3a2
or dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xfffffffe
mov eax, dword [ebx + 4]
cmp dword [eax + 0x38], 0
je 0x1e0aac2b
test dword [eax + 0x54], esi
jne 0x1e0aac2b
mov ecx, sym.python27.dll_PyBaseString_Type
cmp eax, ecx
je 0x1e0aac2b
push ecx
push eax
call sym.python27.dll_PyType_IsSubtype
pop ecx
pop ecx
test eax, eax
jne 0x1e0aac2b
mov dword [esp + 0x50], ebx
jmp 0x1e0aac2b
cmp word [edi], 0x25
je 0x1e0aa43c
dec dword [esp + 0x20]
jns 0x1e0aa426
mov esi, dword [esp + 0xc]
add esi, 0x64
add dword [esp + 0x30], esi
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
call fcn.1e0a0295
pop ecx
test eax, eax
jl 0x1e0aad76
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0xc]
sub eax, esi
lea eax, [ecx + eax*2]
dec esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], esi
mov ax, word [edi]
mov ecx, dword [esp + 0x24]
add dword [esp + 0x24], 2
inc edi
mov word [ecx], ax
inc edi
jmp 0x1e0aac2b
or dword [esp + 0x10], 0xffffffff
or dword [esp + 0x2c], 0xffffffff
xor ecx, ecx
inc edi
inc edi
cmp word [edi], 0x28
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], ecx
jne 0x1e0aa506
xor edx, edx
inc edx
cmp dword [esp + 0x50], ecx
je 0x1e0aac87
inc edi
inc edi
dec dword [esp + 0xc]
mov esi, edi
dec dword [esp + 0xc]
js 0x1e0aac9e
movzx eax, word [edi]
cmp ax, 0x29
jne 0x1e0aa48b
dec edx
jmp 0x1e0aa492
cmp ax, 0x28
jne 0x1e0aa492
inc edx
inc edi
inc edi
cmp edx, ecx
jg 0x1e0aa475
mov eax, edi
sub eax, esi
sar eax, 1
dec eax
push eax
push esi
call sym.python27.dll_PyUnicodeUCS2_FromUnicode
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1e0aad76
xor ebx, ebx
cmp dword [esp + 0x4c], ebx
je 0x1e0aa4cd
mov eax, dword [ebp + 0xc]
dec dword [eax]
jne 0x1e0aa4c9
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
pop ecx
mov dword [esp + 0x4c], ebx
push esi
push dword [esp + 0x54]
call sym.python27.dll_PyObject_GetItem
dec dword [esi]
pop ecx
pop ecx
mov dword [ebp + 0xc], eax
jne 0x1e0aa4e8
mov eax, dword [esi + 4]
push esi
call dword [eax + 0x18]
pop ecx
cmp dword [ebp + 0xc], ebx
je 0x1e0aad76
or dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x4c], 1
mov dword [esp + 0x3c], 0xfffffffe
dec dword [esp + 0xc]
js 0x1e0aacc0
movzx ebx, word [edi]
movzx eax, bx
inc edi
inc edi
sub eax, 0x20
mov dword [esp + 0x18], ebx
mov dword [esp + 0x40], edi
je 0x1e0aa554
sub eax, 3
je 0x1e0aa54d
sub eax, 8
je 0x1e0aa546
dec eax
dec eax
je 0x1e0aa53f
sub eax, 3
jne 0x1e0aa55f
or dword [esp + 0x14], 0x10
jmp 0x1e0aa559
or dword [esp + 0x14], 1
jmp 0x1e0aa559
or dword [esp + 0x14], 2
jmp 0x1e0aa559
or dword [esp + 0x14], 8
jmp 0x1e0aa559
or dword [esp + 0x14], 4
dec dword [esp + 0xc]
jns 0x1e0aa510
cmp bx, 0x2a
jne 0x1e0aa5c4
push dword [esp + 0x38]
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
call fcn.1e0a9ff3
pop ecx
pop ecx
mov dword [esp + 0x28], eax
test eax, eax
je 0x1e0aad76
mov ecx, dword [eax + 4]
test dword [ecx + 0x54], 0x800000
je 0x1e0aacab
push eax
call sym.python27.dll_PyInt_AsLong
pop ecx
mov dword [esp + 0x10], eax
test eax, eax
jge 0x1e0aa5ab
or dword [esp + 0x14], 1
neg dword [esp + 0x10]
dec dword [esp + 0xc]
js 0x1e0aacc0
movzx eax, word [edi]
inc edi
inc edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], edi
jmp 0x1e0aa61b
lea eax, [ebx - 0x30]
cmp ax, 9
ja 0x1e0aa61f
movzx esi, bx
sub esi, 0x30
dec dword [esp + 0xc]
mov dword [esp + 0x10], esi
js 0x1e0aa61f
movzx eax, word [edi]
inc edi
mov dword [esp + 0x18], eax
inc edi
add eax, 0xffffffd0
mov dword [esp + 0x40], edi
cmp ax, 9
ja 0x1e0aa61b
mov ecx, esi
imul ecx, ecx, 0xa
mov eax, ecx
push 0xa
cdq
pop ebx
idiv ebx
cmp eax, esi
jne 0x1e0aacb2
dec dword [esp + 0xc]
movzx eax, word [esp + 0x18]
lea esi, [eax + ecx - 0x30]
mov dword [esp + 0x10], esi
jns 0x1e0aa5dd
mov ebx, dword [esp + 0x18]
cmp bx, 0x2e
jne 0x1e0aa70b
and dword [esp + 0x2c], 0
dec dword [esp + 0xc]
js 0x1e0aacc0
movzx eax, word [edi]
inc edi
inc edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], edi
cmp ax, 0x2a
jne 0x1e0aa6a6
push dword [esp + 0x38]
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
call fcn.1e0a9ff3
pop ecx
pop ecx
mov dword [esp + 0x28], eax
test eax, eax
je 0x1e0aad76
mov ecx, dword [eax + 4]
test dword [ecx + 0x54], 0x800000
je 0x1e0aacab
push eax
call sym.python27.dll_PyInt_AsLong
pop ecx
mov dword [esp + 0x2c], eax
test eax, eax
jge 0x1e0aa68d
and dword [esp + 0x2c], 0
dec dword [esp + 0xc]
js 0x1e0aacc0
movzx eax, word [edi]
inc edi
inc edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], edi
jmp 0x1e0aa707
add eax, 0xffffffd0
cmp ax, 9
ja 0x1e0aa707
movzx eax, word [esp + 0x18]
sub eax, 0x30
dec dword [esp + 0xc]
mov dword [esp + 0x2c], eax
js 0x1e0aacc0
movzx eax, word [edi]
inc edi
mov dword [esp + 0x18], eax
inc edi
add eax, 0xffffffd0
mov dword [esp + 0x40], edi
cmp ax, 9
ja 0x1e0aa707
mov ecx, dword [esp + 0x2c]
imul ecx, ecx, 0xa
mov eax, ecx
push 0xa
cdq
pop esi
idiv esi
cmp eax, dword [esp + 0x2c]
jne 0x1e0aacb9
dec dword [esp + 0xc]
movzx eax, word [esp + 0x18]
lea eax, [eax + ecx - 0x30]
mov dword [esp + 0x2c], eax
jns 0x1e0aa6c5
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0xc], 0
jl 0x1e0aacc0
cmp bx, 0x68
je 0x1e0aa728
cmp bx, 0x6c
je 0x1e0aa728
cmp bx, 0x4c
jne 0x1e0aa741
dec dword [esp + 0xc]
js 0x1e0aacc0
movzx eax, word [edi]
inc edi
inc edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], edi
mov ebx, eax
cmp bx, 0x25
je 0x1e0aa765
push dword [esp + 0x38]
lea ecx, [esp + 0x40]
push dword [ebp + 0xc]
call fcn.1e0a9ff3
pop ecx
pop ecx
mov dword [esp + 0x28], eax
test eax, eax
je 0x1e0aad76
and dword [esp + 0x44], 0
movzx eax, bx
cmp eax, 0x67
mov dword [esp + 0x48], 0x20
jg 0x1e0aa866
cmp eax, 0x65
jge 0x1e0aa846
cmp eax, 0x25
je 0x1e0aa832
cmp eax, 0x44
jle 0x1e0aacda
cmp eax, 0x47
jle 0x1e0aa846
cmp eax, 0x58
je 0x1e0aa7b5
cmp eax, 0x63
je 0x1e0aa814
cmp eax, 0x64
jne 0x1e0aacda
cmp bx, 0x69
jne 0x1e0aa7c7
mov dword [esp + 0x18], 0x64
mov ebx, dword [esp + 0x18]
push dword [esp + 0x28]
call sym.python27.dll_PyNumber_Check
add esp, 4
test eax, eax
je 0x1e0aac61
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
test dword [eax + 0x54], 0x1800000
jne 0x1e0aa951
push dword [esp + 0x28]
call sym.python27.dll_PyNumber_Int
mov esi, eax
pop ecx
test esi, esi
jne 0x1e0aa95f
push dword [esp + 0x28]
call sym.python27.dll_PyNumber_Long
pop ecx
mov esi, eax
jmp 0x1e0aa957
mov eax, dword [esp + 0x28]
lea edi, [esp + 0x58]
mov esi, edi
call fcn.1e0aa255
mov ebx, eax
test ebx, ebx
jl 0x1e0aad76
jmp 0x1e0aaa28
push 0x25
pop eax
xor ebx, ebx
lea edi, [esp + 0x58]
mov word [esp + 0x58], ax
inc ebx
jmp 0x1e0aaa28
push eax
push dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
push dword [esp + 0x30]
call fcn.1e0aa075
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
jmp 0x1e0aa9d4
cmp eax, 0x69
je 0x1e0aa7b5
cmp eax, 0x6f
je 0x1e0aa7b5
cmp eax, 0x71
jle 0x1e0aacda
cmp eax, 0x73
jle 0x1e0aa897
cmp eax, 0x75
je 0x1e0aa7b5
cmp eax, 0x78
jmp 0x1e0aa7af
mov eax, dword [esp + 0x28]
cmp dword [eax + 4], 0x1e1cc0f8
jne 0x1e0aa8b2
cmp bx, 0x73
jne 0x1e0aa8c9
inc dword [eax]
mov dword [esp + 0x1c], eax
jmp 0x1e0aa929
cmp bx, 0x73
jne 0x1e0aa8c9
push dword [esp + 0x28]
call sym.python27.dll_PyObject_Unicode
mov esi, eax
mov dword [esp + 0x20], esi
jmp 0x1e0aa8d8
push dword [esp + 0x28]
call sym.python27.dll_PyObject_Repr
mov esi, eax
mov dword [esp + 0x20], eax
pop ecx
test esi, esi
je 0x1e0aad76
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x54]
test eax, 0x10000000
jne 0x1e0aa929
test eax, 0x8000000
je 0x1e0aacc7
push str.strict
push 0
push dword [esi + 8]
lea eax, [esi + 0x14]
push eax
call sym.python27.dll_PyUnicodeUCS2_Decode
add esp, 0x10
dec dword [esi]
mov edi, eax
jne 0x1e0aa91d
mov eax, dword [esi + 4]
push esi
call dword [eax + 0x18]
pop ecx
mov dword [esp + 0x1c], edi
test edi, edi
je 0x1e0aad76
cmp dword [esp + 0x2c], 0
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 8]
jl 0x1e0aaa28
cmp ebx, dword [esp + 0x2c]
jle 0x1e0aaa28
mov ebx, dword [esp + 0x2c]
jmp 0x1e0aaa28
mov esi, dword [esp + 0x28]
inc dword [esi]
test esi, esi
je 0x1e0aac61
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x54]
test eax, 0x800000
je 0x1e0aa99f
push esi
push dword [esp + 0x30]
lea edi, [esp + 0x60]
push dword [esp + 0x1c]
mov ecx, edi
movzx eax, bx
push ecx
call fcn.1e0aa177
add esp, 0x10
dec dword [esi]
mov ebx, eax
jne 0x1e0aa995
mov eax, dword [esi + 4]
push esi
call dword [eax + 0x18]
pop ecx
test ebx, ebx
jl 0x1e0aad76
jmp 0x1e0aa9e4
test eax, 0x1000000
je 0x1e0aac55
movzx eax, bx
push eax
push dword [esp + 0x30]
push dword [esp + 0x1c]
push esi
call fcn.1e0aa0f7
add esp, 0x10
dec dword [esi]
mov dword [esp + 0x1c], eax
jne 0x1e0aa9cf
mov eax, dword [esi + 4]
push esi
call dword [eax + 0x18]
pop ecx
cmp dword [esp + 0x1c], 0
je 0x1e0aad76
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 8]
mov edi, dword [eax + 0xc]
test byte [esp + 0x14], 0x10
je 0x1e0aa9f3
mov dword [esp + 0x48], 0x30
movzx eax, word [edi]
cmp ax, 0x2d
je 0x1e0aaa1e
push 0x2b
pop ecx
cmp ax, cx
je 0x1e0aaa1e
test byte [esp + 0x14], 2
je 0x1e0aaa11
mov dword [esp + 0x44], ecx
jmp 0x1e0aaa28
movsx eax, byte [esp + 0x14]
and eax, 4
shl eax, 3
jmp 0x1e0aaa24
inc edi
inc edi
movzx eax, ax
dec ebx
mov dword [esp + 0x44], eax
cmp dword [esp + 0x10], ebx
jge 0x1e0aaa32
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x20]
xor ecx, ecx
xor esi, esi
cmp word [esp + 0x44], si
mov edx, eax
setne cl
sub edx, ecx
cmp edx, dword [esp + 0x10]
jge 0x1e0aaa99
sub dword [esp + 0x30], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax + 0x64]
add dword [esp + 0x30], eax
mov dword [esp + 0x20], eax
js 0x1e0aad11
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
call fcn.1e0a0295
pop ecx
test eax, eax
jl 0x1e0aad2c
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
sub eax, dword [esp + 0x20]
mov ecx, dword [ecx + 0xc]
lea eax, [ecx + eax*2]
mov dword [esp + 0x24], eax
jmp 0x1e0aaa9d
mov eax, dword [esp + 0x24]
cmp word [esp + 0x44], si
push 2
pop esi
je 0x1e0aaacb
cmp word [esp + 0x48], 0x20
je 0x1e0aaabd
mov cx, word [esp + 0x44]
mov word [eax], cx
add eax, esi
mov dword [esp + 0x24], eax
dec dword [esp + 0x20]
cmp dword [esp + 0x10], ebx
jle 0x1e0aaacb
dec dword [esp + 0x10]
mov edx, dword [esp + 0x14]
and edx, 8
je 0x1e0aab15
cmp word [esp + 0x18], 0x78
je 0x1e0aaae4
cmp word [esp + 0x18], 0x58
jne 0x1e0aab15
cmp word [esp + 0x48], 0x20
je 0x1e0aab04
mov cx, word [edi]
mov word [eax], cx
add edi, esi
mov cx, word [edi]
add eax, esi
mov word [eax], cx
add eax, esi
mov dword [esp + 0x24], eax
add edi, esi
sub dword [esp + 0x20], esi
sub dword [esp + 0x10], esi
jns 0x1e0aab13
and dword [esp + 0x10], 0
sub ebx, esi
cmp dword [esp + 0x10], ebx
jle 0x1e0aab3e
test byte [esp + 0x14], 1
jne 0x1e0aab3e
mov cx, word [esp + 0x48]
dec dword [esp + 0x20]
mov word [eax], cx
add eax, esi
dec dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jg 0x1e0aab22
mov dword [esp + 0x24], eax
cmp word [esp + 0x48], 0x20
jne 0x1e0aab84
mov ecx, dword [esp + 0x44]
test cx, cx
je 0x1e0aab58
mov word [eax], cx
add eax, esi
mov dword [esp + 0x24], eax
test edx, edx
je 0x1e0aab84
cmp word [esp + 0x18], 0x78
je 0x1e0aab6c
cmp word [esp + 0x18], 0x58
jne 0x1e0aab84
mov cx, word [edi]
mov word [eax], cx
add edi, esi
mov cx, word [edi]
add eax, esi
mov word [eax], cx
add eax, esi
mov dword [esp + 0x24], eax
add edi, esi
lea esi, [ebx + ebx]
cmp esi, 0x10
jb 0x1e0aab9c
push esi
push edi
push dword [esp + 0x2c]
call sub.MSVCR90.dll_memcpy
add esp, 0xc
jmp 0x1e0aabb1
test esi, esi
jbe 0x1e0aabb1
mov eax, dword [esp + 0x24]
sub edi, eax
mov ecx, esi
mov dl, byte [edi + eax]
mov byte [eax], dl
inc eax
dec ecx
jne 0x1e0aaba8
add dword [esp + 0x24], esi
sub dword [esp + 0x20], ebx
dec dword [esp + 0x10]
cmp dword [esp + 0x10], ebx
jl 0x1e0aabf3
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
sub edx, ebx
push 0x20
pop eax
movzx ebx, ax
inc edx
mov eax, ebx
shl ebx, 0x10
or eax, ebx
mov ecx, edx
shr ecx, 1
mov edi, esi
rep stosd dword es:[edi], eax
adc ecx, ecx
sub dword [esp + 0x20], edx
rep stosw word es:[edi], ax
lea eax, [esi + edx*2]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x50], 0
je 0x1e0aac10
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x3c], eax
jge 0x1e0aac10
cmp word [esp + 0x18], 0x25
jne 0x1e0aad46
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1e0aac24
dec dword [eax]
jne 0x1e0aac24
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
pop ecx
mov edi, dword [esp + 0x40]
mov ebx, dword [ebp + 0xc]
dec dword [esp + 0xc]
jns 0x1e0aa3df
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x3c], eax
jge 0x1e0aad5f
cmp dword [esp + 0x50], 0
jne 0x1e0aad5f
push str.not_all_arguments_converted_during_string_formatting
jmp 0x1e0aac8c
dec dword [esi]
jne 0x1e0aac61
mov eax, dword [esi + 4]
push esi
call dword [eax + 0x18]
pop ecx
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
push dword [eax + 0xc]
movsx eax, bl
push eax
push str.___c_format:_a_number_is_required__not__.200s
push dword [sym.python27.dll_PyExc_TypeError]
call sym.python27.dll_PyErr_Format
add esp, 0x10
jmp 0x1e0aad76
push str.format_requires_a_mapping
push dword [sym.python27.dll_PyExc_TypeError]
call sym.python27.dll_PyErr_SetString
pop ecx
pop ecx
jmp 0x1e0aad76
push str.incomplete_format_key
push dword [sym.python27.dll_PyExc_ValueError]
jmp 0x1e0aac92
push str._wants_int
jmp 0x1e0aac8c
push str.width_too_big
jmp 0x1e0aaca3
push str.prec_too_big
jmp 0x1e0aaca3
push str.incomplete_format
jmp 0x1e0aaca3
dec dword [esi]
jne 0x1e0aacd3
mov eax, dword [esi + 4]
push esi
call dword [eax + 0x18]
pop ecx
push str._s_argument_has_non_string_str__
jmp 0x1e0aac8c
lea eax, [ebx - 0x1f]
cmp ax, 0x5f
ja 0x1e0aace8
movsx eax, bl
jmp 0x1e0aaceb
push 0x3f
pop eax
mov ecx, dword [esp + 0x54]
sub edi, dword [ecx + 0xc]
movzx ecx, bx
dec edi
dec edi
sar edi, 1
push edi
push ecx
push eax
push str.unsupported_format_character__c__0x_x__at_index__zd
push dword [sym.python27.dll_PyExc_ValueError]
call sym.python27.dll_PyErr_Format
add esp, 0x14
jmp 0x1e0aad76
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x1e0aad25
dec dword [eax]
jne 0x1e0aad25
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
pop ecx
call sym.python27.dll_PyErr_NoMemory
jmp 0x1e0aad76
cmp dword [esp + 0x1c], esi
je 0x1e0aad76
mov eax, dword [esp + 0x1c]
dec dword [eax]
jne 0x1e0aad76
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
jmp 0x1e0aac98
push str.not_all_arguments_converted_during_string_formatting
push dword [sym.python27.dll_PyExc_TypeError]
call sym.python27.dll_PyErr_SetString
cmp dword [esp + 0x24], 0
pop ecx
pop ecx
jmp 0x1e0aad30
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x20]
lea ecx, [esp + 0x34]
push ecx
call fcn.1e0a0295
pop ecx
test eax, eax
jge 0x1e0aadb1
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1e0aad8a
dec dword [eax]
jne 0x1e0aad8a
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
pop ecx
mov eax, dword [esp + 0x54]
dec dword [eax]
jne 0x1e0aad9a
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
pop ecx
cmp dword [esp + 0x4c], 0
je 0x1e0aadeb
mov eax, dword [ebp + 0xc]
dec dword [eax]
jne 0x1e0aadeb
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
jmp 0x1e0aadea
cmp dword [esp + 0x4c], 0
je 0x1e0aadc4
dec dword [ebx]
jne 0x1e0aadc4
mov eax, dword [ebx + 4]
push ebx
call dword [eax + 0x18]
pop ecx
mov eax, dword [esp + 0x54]
dec dword [eax]
jne 0x1e0aadd4
mov ecx, dword [eax + 4]
push eax
call dword [ecx + 0x18]
pop ecx
mov eax, dword [esp + 0x34]
jmp 0x1e0aaded
push 0x203b
push str...Objectsunicodeobject.c
call sym.python27.dll__PyErr_BadInternalCall
pop ecx
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret