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

Disassembly:
sub esp, 0x18
mov eax, dword [esp + 0x1c]
push ebx
push ebp
xor ecx, ecx
lea ebp, [eax + eax*4]
push esi
mov esi, dword [esp + 0x30]
push edi
lea ebp, [ebp + ebp*8]
mov edi, dword [esp + 0x30]
shl ebp, 1
sub ebp, eax
mov dword [esp + 0x14], ecx
shl ebp, 3
mov dword [esp + 0x18], ecx
mov eax, dword [ebp + 0x143b730]
mov dword [0x85a3f4], eax
mov eax, dword [ebp + 0x143b75c]
cmp eax, ecx
je case.0x4a986b.44
mov ax, word [ebp + 0x143b7e4]
test ax, ax
jle 0x4a97e8
cmp ax, 5
jge 0x4a97e8
movsx ecx, ax
shl ecx, 5
mov eax, 0x66666667
mov ebx, 0x20
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
sub ebx, edx
cmp ebx, 0x20
jne 0x4a97ea
xor ebx, ebx
mov ax, word [ebp + 0x143b7fa]
cmp ax, 0x37
jne 0x4a9846
movsx edx, word [ebp + 0x143b7fe]
cmp edx, dword [0x12b11ac]
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b760]
mov ebx, dword [0xba0b3c]
mov edx, esi
push 0
lea ecx, [eax + 0x65]
sub edx, ebx
push ecx
sub edx, 0x59
push 0x55
push edx
mov edx, dword [0xba0b38]
mov ecx, edi
sub ecx, edx
sub ecx, 5
push ecx
push eax
push 0x55
mov ecx, 0xb348c8
call fcn.00441610
jmp case.0x4a986b.44
mov ecx, dword [0x116fb28]
test ecx, ecx
jne 0x4abd8f
movsx eax, ax
add eax, 0xfffffffd
cmp eax, 0x5e
ja case.0x4a986b.44
xor edx, edx
mov dl, byte [eax + 0x4abe44]
jmp dword [edx*4 + 0x4abd9c]
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4a989e
lea ecx, [esi - 0x67]
lea edx, [edi - 0x27]
push ecx
push edx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov ecx, dword [ebp + 0x143b760]
mov dword [0x85a3f4], 0
test ecx, ecx
mov dword [0x85a3e0], 0x43
mov dword [0x85a3e8], ecx
je 0x4a98f9
mov ebx, dword [0xb34940]
mov eax, ecx
mov ecx, dword [ecx*4 + 0x68d4fc]
shl eax, 4
add ecx, ebx
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
push ecx
push edx
lea ecx, [esi - 0x39]
push eax
lea edx, [edi - 0x23]
push ecx
push edx
mov ecx, 0xb348c8
call fcn.004421d0
mov ecx, dword [ebp + 0x143b764]
test ecx, ecx
mov dword [0x85a3e8], ecx
je case.0x4a986b.44
mov ebx, dword [0xb34940]
mov eax, ecx
mov ecx, dword [ecx*4 + 0x68d4fc]
shl eax, 4
add ecx, ebx
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
push ecx
push edx
lea ecx, [esi - 0x46]
push eax
lea edx, [edi - 0x38]
push ecx
push edx
mov ecx, 0xb348c8
call fcn.004421d0
jmp case.0x4a986b.44
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4a9978
lea ecx, [esi - 0x95]
lea edx, [edi - 0x45]
push ecx
push edx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
mov dword [0x85a3e0], 0xab
test eax, eax
je 0x4a99b0
movsx ecx, word [ebp + 0x143b736]
movsx edx, word [ebp + 0x143b734]
add ecx, esi
add edx, edi
push ecx
push edx
push eax
push 0xab
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
test eax, eax
je 0x4a99de
movsx ecx, word [ebp + 0x143b736]
movsx edx, word [ebp + 0x143b734]
add ecx, esi
add edx, edi
push ecx
push edx
push eax
push 0xab
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4a9a0c
movsx ecx, word [ebp + 0x143b736]
movsx edx, word [ebp + 0x143b734]
add ecx, esi
add edx, edi
push ecx
push edx
push eax
push 0xab
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b76c]
test eax, eax
je case.0x4a986b.44
movsx ecx, word [ebp + 0x143b736]
movsx edx, word [ebp + 0x143b734]
add ecx, esi
add edx, edi
push ecx
push edx
push eax
push 0xab
jmp 0x4aba40
mov eax, dword [ebp + 0x143b760]
mov dword [0x85a3e0], 0xb5
test eax, eax
mov dword [0x85a3f4], 0
je case.0x4a986b.44
lea ecx, [esi - 0x4c]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0xb5
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4a9a9a
lea ecx, [esi - 0x7d]
lea edx, [edi + 3]
push ecx
push edx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
mov dword [0x85a3f4], 0
test eax, eax
mov dword [0x85a3e0], 0x71
je 0x4a9acd
lea ecx, [esi - 0x3e]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x71
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
test eax, eax
je case.0x4a986b.44
cmp eax, 0x7a
jle 0x4a9af0
lea ecx, [esi - 0x66]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x71
jmp 0x4aba40
lea ecx, [esi - 0x64]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x71
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4a9b2c
lea ecx, [esi - 0x3c]
lea edx, [edi - 0x26]
push ecx
push edx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
mov dword [0x85a3f4], 1
test eax, eax
mov dword [0x85a3e0], 0x19
je 0x4a9b62
lea ecx, [esi - 0x8c]
lea edx, [edi + 0xc]
push ecx
push edx
push eax
push 0x19
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
test eax, eax
je 0x4a9b84
lea ecx, [esi - 0x88]
lea edx, [edi - 0x31]
push ecx
push edx
push eax
push 0x19
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4a9ba3
lea ecx, [esi - 0x6b]
lea edx, [edi - 0x20]
push ecx
push edx
push eax
push 0x19
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b76c]
test eax, eax
je case.0x4a986b.44
lea ecx, [esi - 0x6f]
lea edx, [edi - 0x5f]
push ecx
push edx
push eax
push 0x19
jmp 0x4aba40
mov eax, dword [ebp + 0x143b760]
test eax, eax
je 0x4a9be0
lea ecx, [esi - 0x7c]
lea edx, [edi + 7]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b76c]
test eax, eax
je case.0x4a986b.44
lea ecx, [esi - 0x7e]
lea edx, [edi - 0x33]
push ecx
push edx
push eax
push 0x36
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4a9c2a
lea ecx, [esi - 0x21]
lea edx, [edi - 0x27]
push ecx
push edx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
mov dword [0x85a3f4], 0
test eax, eax
mov dword [0x85a3e0], 0x2f
je 0x4a9ccc
mov cx, word [ebp + 0x143b842]
test cx, cx
jne 0x4a9c6a
mov dword [esp + 0x14], 0xffffffe1
mov dword [esp + 0x18], 0xffffffa8
jmp 0x4a9c86
cmp cx, 1
je 0x4a9c76
cmp cx, 2
jne 0x4a9c86
mov dword [esp + 0x14], 0xffffffe6
mov dword [esp + 0x18], 0xffffff63
test cx, cx
jne 0x4a9ca8
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
add ecx, esi
add edx, edi
push ecx
push edx
push eax
push 0x2f
mov ecx, 0xb348c8
call fcn.0043f2f0
jmp 0x4a9ccc
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov cl, byte [ebp + 0x143b9ba]
add edx, esi
push ecx
mov ecx, dword [esp + 0x18]
add ecx, edi
push edx
push ecx
push eax
push 0x2f
mov ecx, 0xb348c8
call fcn.0043f3e0
mov eax, dword [ebp + 0x143b76c]
test eax, eax
je 0x4a9ceb
lea edx, [esi - 0x59]
lea ecx, [edi - 0x1f]
push edx
push ecx
push eax
push 0x2f
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b784]
test eax, eax
je 0x4a9d0a
lea edx, [esi - 0x36]
lea ecx, [edi - 0x17]
push edx
push ecx
push eax
push 0x2f
mov ecx, 0xb348c8
call fcn.0043f2f0
mov edx, dword [ebp + 0x143b760]
test edx, edx
je 0x4a9d9d
mov ax, word [ebp + 0x143b840]
test ax, ax
jne 0x4a9d2b
mov eax, 0xffffffdd
jmp 0x4a9d85
cmp ax, 1
jne 0x4a9d3d
mov eax, 0xffffffdd
mov ecx, 0xffffffc8
jmp 0x4a9d8a
cmp ax, 2
jne 0x4a9d4a
mov eax, 0xffffffdd
jmp 0x4a9d85
cmp ax, 3
jne 0x4a9d5c
mov eax, 0xffffffdd
mov ecx, 0xffffffb2
jmp 0x4a9d8a
cmp ax, 4
jne 0x4a9d6e
mov eax, 0xffffffdd
mov ecx, 0xffffffa7
jmp 0x4a9d8a
cmp ax, 5
jne 0x4a9d80
mov eax, 0xffffffdd
mov ecx, 0xffffffa7
jmp 0x4a9d8a
mov eax, 0xffffffcd
mov ecx, 0xffffffba
add ecx, esi
add eax, edi
push ecx
push eax
push edx
push 0x2f
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x54]
lea ecx, [edi - 0x33]
push edx
push ecx
push eax
push 0x2f
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x50]
lea ecx, [edi + 0xc]
push edx
jmp 0x4aba39
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4a9e0b
lea edx, [esi - 0x56]
lea ecx, [edi - 0x25]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
mov dword [0x85a3f4], 0
test eax, eax
mov dword [0x85a3e0], 0x5a
je case.0x4a986b.44
lea edx, [esi - 0x3c]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x5a
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4a9e69
lea edx, [esi - 0x72]
lea ecx, [edi - 0x26]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
mov dword [0x85a3f4], 0
test eax, eax
mov dword [0x85a3e0], 0x1a
je 0x4a9e9f
lea edx, [esi - 0x103]
lea ecx, [edi - 0x4e]
push edx
push ecx
push eax
push 0x1a
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
test eax, eax
je 0x4a9ec2
lea edx, [esi - 0x103]
push ebx
lea ecx, [edi - 0x4e]
push edx
push ecx
push eax
push 0x1a
mov ecx, 0xb348c8
call fcn.0043f3e0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4a9ee4
lea edx, [esi - 0xd0]
lea ecx, [edi - 0x4e]
push edx
push ecx
push eax
push 0x1a
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b76c]
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x124]
lea ecx, [edi - 0x59]
push edx
push ecx
push eax
push 0x1a
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4a9f31
lea edx, [esi - 0x7b]
lea ecx, [edi - 0x25]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
mov dword [0x85a3f4], 0
test eax, eax
mov dword [0x85a3e0], 0x42
je 0x4a9f64
lea edx, [esi - 0x5f]
lea ecx, [edi - 0x14]
push edx
push ecx
push eax
push 0x42
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
mov dword [0x85a3f4], 0
test eax, eax
mov dword [0x85a3e0], 0x17
je case.0x4a986b.44
lea edx, [esi - 0x8c]
push 0x10
lea ecx, [edi - 4]
push edx
push ecx
push eax
push 0x17
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp case.0x4a986b.44
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4a9fd1
lea edx, [esi - 0x7b]
lea ecx, [edi - 0x25]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
mov dword [0x85a3f4], 2
test eax, eax
mov dword [0x85a3e0], 0x33
je 0x4aa004
lea edx, [esi - 0x44]
lea ecx, [edi - 0x3c]
push edx
push ecx
push eax
push 0x33
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
mov dword [0x85a3f4], 0
test eax, eax
mov dword [0x85a3e0], 0x17
je case.0x4a986b.44
lea edx, [esi - 0x7c]
push 0x10
lea ecx, [edi + 7]
push edx
push ecx
push eax
push 0x17
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp case.0x4a986b.44
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4aa06e
lea edx, [esi - 0x7b]
lea ecx, [edi - 0x25]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
mov dword [0x85a3f4], 2
test eax, eax
mov dword [0x85a3e0], 0x3a
je 0x4aa0a1
lea edx, [esi - 0x49]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x3a
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
mov dword [0x85a3f4], 0
test eax, eax
mov dword [0x85a3e0], 0x17
je case.0x4a986b.44
lea edx, [esi - 0x7c]
push 0x10
lea ecx, [edi + 3]
push edx
push ecx
push eax
push 0x17
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp case.0x4a986b.44
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x82]
jmp 0x4aba35
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x89]
jmp 0x4aba35
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x80]
jmp 0x4aba35
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x6d]
lea ecx, [edi - 0x37]
push edx
jmp 0x4aba39
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4aa195
lea edx, [esi - 0x6d]
lea ecx, [edi - 0x37]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
mov dword [0x85a3f4], 0
test eax, eax
mov dword [0x85a3e0], 0x58
je 0x4aa1ef
mov cx, word [ebp + 0x143b7e6]
test cx, cx
je 0x4aa1da
movsx edx, cx
push edx
lea ecx, [esi - 0x51]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x58
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4aa1ef
lea ecx, [esi - 0x51]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x58
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
test eax, eax
je 0x4aa235
mov cx, word [ebp + 0x143b7e6]
test cx, cx
je 0x4aa220
movsx ecx, cx
push ecx
lea edx, [esi - 0x51]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x58
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4aa235
lea edx, [esi - 0x51]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x58
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4aa254
lea edx, [esi - 0x51]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x58
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b76c]
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x51]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x58
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je 0x4aa29e
lea edx, [esi - 0x63]
lea ecx, [edi - 0x12]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b76c]
mov dword [0x85a3f4], 0
test eax, eax
mov dword [0x85a3e0], 0x62
je 0x4aa327
mov cx, word [ebp + 0x143b7e6]
cmp eax, 0x26
jge 0x4aa2f2
test cx, cx
je 0x4aa2e8
movsx edx, cx
push edx
lea ecx, [esi - 0x6b]
lea edx, [edi - 0x50]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4aa327
lea ecx, [esi - 0x6b]
lea edx, [edi - 0x50]
push ecx
push edx
jmp 0x4aa31a
test cx, cx
je 0x4aa312
movsx ecx, cx
push ecx
lea edx, [esi - 0x6b]
lea ecx, [edi - 0x50]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4aa327
lea edx, [esi - 0x64]
lea ecx, [edi - 0x67]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4aa39c
mov cx, word [ebp + 0x143b7e6]
cmp eax, 0x26
jge 0x4aa367
test cx, cx
je 0x4aa35d
movsx edx, cx
push edx
lea ecx, [esi - 0x60]
lea edx, [edi - 0x3a]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4aa39c
lea ecx, [esi - 0x60]
lea edx, [edi - 0x3a]
push ecx
push edx
jmp 0x4aa38f
test cx, cx
je 0x4aa387
movsx ecx, cx
push ecx
lea edx, [esi - 0x60]
lea ecx, [edi - 0x3a]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4aa39c
lea edx, [esi - 0x53]
lea ecx, [edi - 0x51]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
test eax, eax
je 0x4aa411
mov cx, word [ebp + 0x143b7e6]
cmp eax, 0x26
jge 0x4aa3dc
test cx, cx
je 0x4aa3d2
movsx edx, cx
push edx
lea ecx, [esi - 0x55]
lea edx, [edi - 0x24]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4aa411
lea ecx, [esi - 0x55]
lea edx, [edi - 0x24]
push ecx
push edx
jmp 0x4aa404
test cx, cx
je 0x4aa3fc
movsx ecx, cx
push ecx
lea edx, [esi - 0x55]
lea ecx, [edi - 0x24]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4aa411
lea edx, [esi - 0x4a]
lea ecx, [edi - 0x37]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
test eax, eax
je case.0x4a986b.44
mov cx, word [ebp + 0x143b7e6]
cmp eax, 0x26
jge 0x4aa49c
test cx, cx
je 0x4aa44b
movsx edx, cx
push edx
lea ecx, [esi - 0x4a]
lea edx, [edi - 0xe]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp 0x4aa460
lea ecx, [esi - 0x4a]
lea edx, [edi - 0xe]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f2f0
mov ax, word [ebp + 0x143b7e6]
test ax, ax
je 0x4aa48b
movsx eax, ax
lea ecx, [esi - 0x49]
push eax
lea edx, [edi - 0xd]
push ecx
push edx
push 0x26
push 0x62
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp case.0x4a986b.44
lea eax, [esi - 0x49]
lea ecx, [edi - 2]
push eax
push ecx
push 0x26
push 0x62
jmp 0x4aba40
test cx, cx
je 0x4aa4bf
movsx edx, cx
push edx
lea ecx, [esi - 0x4a]
lea edx, [edi - 0xe]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp case.0x4a986b.44
lea ecx, [esi - 0x3f]
lea edx, [edi - 0x21]
push ecx
push edx
push eax
push 0x62
jmp 0x4aba40
mov edx, dword [esp + 0x38]
xor ecx, ecx
mov dword [esp + 0x34], ecx
lea eax, [ebp + 0x143b8f0]
cmp dword [eax], edx
je 0x4aa4ec
inc ecx
add eax, 4
cmp ecx, 0x10
jl 0x4aa4df
mov eax, dword [ebp + 0x143b760]
mov dword [esp + 0x34], ecx
test eax, eax
je 0x4aa546
test ecx, ecx
jne 0x4aa546
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b760]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4aa59d
cmp ecx, 1
jne 0x4aa59d
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b768]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b788]
test eax, eax
je 0x4aa5f4
cmp ecx, 2
jne 0x4aa5f4
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b788]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b798]
test eax, eax
je 0x4aa64b
cmp ecx, 3
jne 0x4aa64b
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b798]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b764]
test eax, eax
je 0x4aa6a2
cmp ecx, 4
jne 0x4aa6a2
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b764]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b76c]
test eax, eax
je 0x4aa6f9
cmp ecx, 5
jne 0x4aa6f9
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b76c]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b790]
test eax, eax
je 0x4aa750
cmp ecx, 6
jne 0x4aa750
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b790]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b7a4]
test eax, eax
je 0x4aa7a7
cmp ecx, 7
jne 0x4aa7a7
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b7a4]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b784]
test eax, eax
je 0x4aa7fe
cmp ecx, 8
jne 0x4aa7fe
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b784]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b78c]
test eax, eax
je 0x4aa855
cmp ecx, 9
jne 0x4aa855
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b78c]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b79c]
test eax, eax
je 0x4aa8ac
cmp ecx, 0xa
jne 0x4aa8ac
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b79c]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b7ac]
test eax, eax
je 0x4aa903
cmp ecx, 0xb
jne 0x4aa903
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b7ac]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b794]
test eax, eax
je 0x4aa95a
cmp ecx, 0xc
jne 0x4aa95a
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b794]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b7a0]
test eax, eax
je 0x4aa9b1
cmp ecx, 0xd
jne 0x4aa9b1
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b7a0]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b7a8]
test eax, eax
je 0x4aaa04
cmp ecx, 0xe
jne 0x4aaa04
mov ecx, dword [0x8372f0]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x143b7a8]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [ebp + 0x143b7b0]
test ecx, ecx
je case.0x4a986b.44
cmp dword [esp + 0x34], 0xf
jne case.0x4a986b.44
mov eax, dword [0x8372f0]
push ebx
mov ebx, esi
lea eax, [ecx + eax - 1]
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ebx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
sub ebx, 5
add edx, 0xf
push ebx
push edx
push ecx
push 0x1c
mov ecx, 0xb348c8
call fcn.0043f3e0
jmp case.0x4a986b.44
mov ecx, dword [esp + 0x38]
xor edx, edx
mov dword [esp + 0x34], edx
lea eax, [ebp + 0x143b8f0]
cmp dword [eax], ecx
je 0x4aaa7c
inc edx
add eax, 4
cmp edx, 0x10
jl 0x4aaa6f
mov ecx, dword [0x116fafc]
xor eax, eax
cmp ecx, 6
mov dword [esp + 0x34], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], eax
ja case.0x4aaaa1.1
jmp dword [ecx*4 + 0x4abea4]
mov dword [esp + 0x24], 0
mov eax, 5
mov dword [esp + 0x10], 7
mov dword [esp + 0x14], 0xd
mov dword [esp + 0x18], 0xf
jmp case.0x4aaaa1.1
mov dword [esp + 0x24], 3
mov eax, 4
mov dword [esp + 0x10], 6
mov dword [esp + 0x14], 0xc
mov dword [esp + 0x18], 0xe
jmp case.0x4aaaa1.1
mov dword [esp + 0x24], 0xf
xor eax, eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 8
mov dword [esp + 0x18], 0xa
jmp case.0x4aaaa1.1
mov dword [esp + 0x24], 0xc
mov eax, 1
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 9
mov dword [esp + 0x18], 0xb
cmp edx, eax
jne 0x4aab4b
mov ecx, dword [ebp + 0x143b784]
jmp 0x4aab73
cmp edx, dword [esp + 0x10]
jne 0x4aab59
mov ecx, dword [ebp + 0x143b78c]
jmp 0x4aab73
cmp edx, dword [esp + 0x14]
jne 0x4aab67
mov ecx, dword [ebp + 0x143b7a4]
jmp 0x4aab73
cmp edx, dword [esp + 0x18]
jne 0x4aab78
mov ecx, dword [ebp + 0x143b7ac]
cmp ecx, 0x20
jge 0x4aab99
mov edx, dword [0xbb8dc4]
mov ecx, 0x68
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], 0xfffffff6
jmp 0x4aabb2
mov ecx, 0x1c
mov dword [esp + 0x1c], 0
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], 0
mov dword [0x85a3e0], ecx
mov ecx, dword [ebp + 0x143b784]
test ecx, ecx
mov dword [0x85a3f4], 0
je 0x4aac2a
cmp edx, eax
jne 0x4aac2a
mov eax, dword [esp + 0x30]
push ebx
mov edx, dword [eax*4 + 0x837280]
lea eax, [edx + ecx - 1]
mov edx, esi
shl eax, 4
movsx ecx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub edx, ecx
mov ecx, dword [esp + 0x20]
lea edx, [edx + ecx - 0xf]
mov ecx, edi
push edx
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
sar eax, 1
sub ecx, eax
lea eax, [ecx + edx + 0xf]
mov ecx, dword [esp + 0x38]
push eax
mov eax, dword [ebp + 0x143b784]
push eax
push ecx
mov ecx, 0xb348c8
call fcn.0043f3e0
mov edx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b78c]
test eax, eax
je 0x4aac94
cmp edx, dword [esp + 0x10]
jne 0x4aac94
mov edx, dword [esp + 0x30]
push ebx
mov ecx, dword [edx*4 + 0x837280]
lea eax, [ecx + eax - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ecx, edx
mov edx, dword [esp + 0x20]
lea ecx, [ecx + edx - 0xf]
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [esp + 0x24]
push ecx
lea ecx, [edx + eax + 0xf]
mov eax, dword [ebp + 0x143b78c]
mov edx, dword [esp + 0x38]
push ecx
push eax
push edx
mov ecx, 0xb348c8
call fcn.0043f3e0
mov edx, dword [esp + 0x34]
mov eax, dword [ebp + 0x143b7a4]
test eax, eax
je 0x4aacfe
cmp edx, dword [esp + 0x14]
jne 0x4aacfe
mov ecx, dword [esp + 0x30]
push ebx
mov edx, dword [ecx*4 + 0x837280]
lea eax, [edx + eax - 1]
mov edx, esi
shl eax, 4
movsx ecx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub edx, ecx
mov ecx, dword [esp + 0x20]
lea edx, [edx + ecx - 0xf]
mov ecx, edi
push edx
cdq
sub eax, edx
mov edx, dword [esp + 0x28]
sar eax, 1
sub ecx, eax
lea eax, [ecx + edx + 0xf]
mov ecx, dword [esp + 0x38]
push eax
mov eax, dword [ebp + 0x143b7a4]
push eax
push ecx
mov ecx, 0xb348c8
call fcn.0043f3e0
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp + 0x143b7ac]
test ecx, ecx
je 0x4aad5e
cmp edx, dword [esp + 0x18]
jne 0x4aad5e
mov edx, dword [esp + 0x30]
push ebx
mov ebx, esi
mov eax, dword [edx*4 + 0x837280]
lea eax, [eax + ecx - 1]
shl eax, 4
movsx edx, word [eax + 0x75c682]
movsx eax, word [eax + 0x75c680]
sub ebx, edx
mov edx, dword [esp + 0x20]
lea edx, [ebx + edx - 0xf]
push edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [esp + 0x28]
lea edx, [edx + eax + 0xf]
mov eax, dword [esp + 0x38]
push edx
push ecx
push eax
mov ecx, 0xb348c8
call fcn.0043f3e0
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + ecx*4]
lea edx, [eax + eax*8]
mov eax, dword [esp + 0x24]
shl edx, 1
sub edx, ecx
lea ecx, [eax + edx*2]
mov edx, dword [esp + 0x38]
cmp edx, dword [ecx*4 + 0x143b8f0]
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b730]
mov dword [0x85a3e0], 0xbd
mov dword [0x85a3f4], eax
mov eax, dword [ebp + 0x143b7a0]
test eax, eax
je case.0x4a986b.44
lea ecx, [esi - 0x88]
lea edx, [edi - 0x26]
push ecx
push edx
jmp 0x4aba3a
mov eax, dword [ebp + 0x143b7d8]
test eax, eax
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b760]
test eax, eax
je case.0x4a986b.44
lea ecx, [esi - 0xb0]
lea edx, [edi - 0x60]
push ecx
push edx
push eax
push 0x36
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7d8]
test eax, eax
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b760]
test eax, eax
je case.0x4a986b.44
lea ecx, [esi - 0x90]
lea edx, [edi - 0x50]
push ecx
push edx
push eax
push 0x36
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7d8]
test eax, eax
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b760]
test eax, eax
je case.0x4a986b.44
lea ecx, [esi - 0xf3]
lea edx, [edi - 0x7a]
push ecx
push edx
push eax
push 0x36
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7d8]
test eax, eax
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b760]
test eax, eax
je case.0x4a986b.44
lea ecx, [esi - 0x156]
lea edx, [edi - 0x97]
push ecx
push edx
push eax
push 0x36
jmp 0x4aba40
mov eax, dword [ebp + 0x143b760]
test eax, eax
je 0x4aae98
lea ecx, [esi - 0xd2]
lea edx, [edi - 7]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
test eax, eax
je 0x4aaeba
lea ecx, [esi - 0xd2]
lea edx, [edi - 0x60]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4aaed9
lea ecx, [esi - 0x5b]
lea edx, [edi + 3]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b76c]
test eax, eax
je 0x4aaef8
lea ecx, [esi - 0x5b]
lea edx, [edi - 0x33]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b794]
test eax, eax
je 0x4aaf1a
lea ecx, [esi - 0x5c]
lea edx, [edi - 0x4f]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b798]
test eax, eax
je 0x4aaf3c
lea ecx, [esi - 0x76]
lea edx, [edi - 0x24]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b79c]
test eax, eax
je 0x4aaf5e
lea ecx, [esi - 0x39]
lea edx, [edi - 0x2b]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a0]
test eax, eax
je 0x4aaf83
lea ecx, [esi - 0x86]
lea edx, [edi - 0x40]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a4]
test eax, eax
je 0x4aafa5
lea ecx, [esi - 0x76]
lea edx, [edi + 0x24]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a8]
test eax, eax
je 0x4aafc7
lea ecx, [esi - 0x4b]
lea edx, [edi + 0x35]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7ac]
test eax, eax
je 0x4aafe9
lea ecx, [esi - 0x67]
lea edx, [edi + 0x48]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7b0]
test eax, eax
je 0x4ab00e
lea ecx, [esi - 0x83]
lea edx, [edi + 0x4f]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b784]
test eax, eax
je 0x4ab030
lea ecx, [esi - 0x5e]
lea edx, [edi + 0x11]
push ecx
push edx
push eax
push 0x89
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b788]
test eax, eax
je case.0x4a986b.44
lea ecx, [esi - 0x5e]
lea edx, [edi - 0x56]
push ecx
push edx
push eax
push 0x89
jmp 0x4aba40
mov eax, dword [ebp + 0x143b760]
test eax, eax
je 0x4ab073
lea ecx, [esi - 0xb2]
lea edx, [edi + 5]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
test eax, eax
je 0x4ab095
lea ecx, [esi - 0xb1]
lea edx, [edi - 0x40]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4ab0b4
lea ecx, [esi - 0x53]
lea edx, [edi - 0xd]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b76c]
test eax, eax
je 0x4ab0d3
lea ecx, [esi - 0x53]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b794]
test eax, eax
je 0x4ab0f5
lea ecx, [esi - 0x68]
lea edx, [edi - 0x14]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b798]
test eax, eax
je 0x4ab117
lea ecx, [esi - 0x64]
lea edx, [edi - 0x2f]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b79c]
test eax, eax
je 0x4ab139
lea ecx, [esi - 0x30]
lea edx, [edi - 0x11]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a0]
test eax, eax
je 0x4ab15b
lea ecx, [esi - 0x77]
lea edx, [edi + 0x17]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a4]
test eax, eax
je 0x4ab17d
lea ecx, [esi - 0x37]
lea edx, [edi + 0xf]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a8]
test eax, eax
je 0x4ab19f
lea ecx, [esi - 0x3d]
lea edx, [edi + 0x38]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7ac]
test eax, eax
je 0x4ab1c1
lea ecx, [esi - 0x5c]
lea edx, [edi + 0x19]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7b0]
test eax, eax
je 0x4ab1e6
lea ecx, [esi - 0x8c]
lea edx, [edi - 0x3a]
push ecx
push edx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b784]
test eax, eax
je 0x4ab205
lea ecx, [esi - 0x58]
push ecx
push edi
push eax
push 0x89
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b788]
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x58]
lea ecx, [edi - 0x46]
push edx
push ecx
push eax
push 0x89
jmp 0x4aba40
mov eax, dword [ebp + 0x143b760]
test eax, eax
je 0x4ab245
lea edx, [esi - 0x6e]
lea ecx, [edi + 3]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b764]
test eax, eax
je 0x4ab264
lea edx, [esi - 0x6a]
lea ecx, [edi - 0x20]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4ab283
lea edx, [esi - 0x46]
lea ecx, [edi - 0x20]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b76c]
test eax, eax
je 0x4ab2a2
lea edx, [esi - 0x47]
lea ecx, [edi + 8]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7d8]
test eax, eax
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b784]
test eax, eax
je 0x4ab2cf
lea edx, [esi - 0x37]
lea ecx, [edi + 0x11]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b788]
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x37]
lea ecx, [edi - 0x15]
push edx
push ecx
push eax
push 0x36
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7d8]
test eax, eax
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b794]
test eax, eax
je 0x4ab31d
lea edx, [esi - 0x4b]
lea ecx, [edi - 9]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b798]
test eax, eax
je 0x4ab33f
lea edx, [esi - 0x3d]
lea ecx, [edi + 0x31]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b79c]
test eax, eax
je 0x4ab361
lea edx, [esi - 0x34]
lea ecx, [edi - 0x2b]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a0]
test eax, eax
je 0x4ab383
lea edx, [esi - 0x55]
lea ecx, [edi + 0x19]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a4]
test eax, eax
je 0x4ab3a5
lea edx, [esi - 0x65]
lea ecx, [edi - 0x26]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a8]
test eax, eax
je 0x4ab3c7
lea edx, [esi - 0x34]
lea ecx, [edi + 0x16]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7ac]
test eax, eax
je 0x4ab3e9
lea edx, [esi - 0x26]
lea ecx, [edi - 0x10]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7b0]
test eax, eax
je 0x4ab40b
lea edx, [esi - 0x6e]
lea ecx, [edi + 0x32]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
test eax, eax
je 0x4ab42d
lea edx, [esi - 0xb0]
lea ecx, [edi - 0x20]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4ab44f
lea edx, [esi - 0x93]
lea ecx, [edi - 0x29]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b784]
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x8c]
lea ecx, [edi - 2]
push edx
push ecx
push eax
push 0x36
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7d8]
test eax, eax
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b794]
test eax, eax
je 0x4ab4a0
lea edx, [esi - 0x70]
lea ecx, [edi + 0x39]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b798]
test eax, eax
je 0x4ab4c2
lea edx, [esi - 0x26]
lea ecx, [edi - 0x13]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b79c]
test eax, eax
je 0x4ab4e7
lea edx, [esi - 0x93]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a0]
test eax, eax
je 0x4ab50c
lea edx, [esi - 0x91]
lea ecx, [edi + 0x19]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a4]
test eax, eax
je 0x4ab52e
lea edx, [esi - 0x3f]
lea ecx, [edi + 0x31]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a8]
test eax, eax
je 0x4ab550
lea edx, [esi - 0x70]
lea ecx, [edi - 0x2e]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7ac]
test eax, eax
je 0x4ab572
lea edx, [esi - 0x7a]
lea ecx, [edi - 0x10]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7b0]
test eax, eax
je 0x4ab594
lea edx, [esi - 0x6b]
lea ecx, [edi + 0x20]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
test eax, eax
je 0x4ab5b6
lea edx, [esi - 0xd1]
lea ecx, [edi - 0x2d]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4ab5d8
lea edx, [esi - 0x96]
lea ecx, [edi - 0x29]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b784]
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x93]
lea ecx, [edi + 0xd]
push edx
push ecx
push eax
push 0x36
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7d8]
test eax, eax
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b794]
test eax, eax
je 0x4ab62c
lea edx, [esi - 0xaf]
lea ecx, [edi - 0x41]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b798]
test eax, eax
je 0x4ab64e
lea edx, [esi - 0x71]
lea ecx, [edi + 0x25]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b79c]
test eax, eax
je 0x4ab670
lea edx, [esi - 0x51]
lea ecx, [edi + 0x4b]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a0]
test eax, eax
je 0x4ab692
lea edx, [esi - 0x55]
lea ecx, [edi - 0x41]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a4]
test eax, eax
je 0x4ab6b7
lea edx, [esi - 0x83]
lea ecx, [edi - 0x26]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a8]
test eax, eax
je 0x4ab6d9
lea edx, [esi - 0x4b]
lea ecx, [edi - 0x13]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7ac]
test eax, eax
je 0x4ab6fe
lea edx, [esi - 0x9b]
lea ecx, [edi + 0x36]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7b0]
test eax, eax
je 0x4ab720
lea edx, [esi - 0x7e]
lea ecx, [edi + 0x42]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
test eax, eax
je 0x4ab742
lea edx, [esi - 0xf2]
lea ecx, [edi - 0x44]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4ab764
lea edx, [esi - 0x9a]
lea ecx, [edi - 0x39]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b784]
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x96]
lea ecx, [edi + 0xf]
push edx
push ecx
push eax
push 0x36
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7d8]
test eax, eax
jne case.0x4a986b.44
mov eax, dword [ebp + 0x143b794]
test eax, eax
je 0x4ab7b8
lea edx, [esi - 0x8f]
lea ecx, [edi + 0x33]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b798]
test eax, eax
je 0x4ab7da
lea edx, [esi - 0x6b]
lea ecx, [edi + 4]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b79c]
test eax, eax
je 0x4ab7ff
lea edx, [esi - 0x8a]
lea ecx, [edi - 0x29]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a0]
test eax, eax
je 0x4ab821
lea edx, [esi - 0x55]
lea ecx, [edi - 0x21]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a4]
test eax, eax
je 0x4ab843
lea edx, [esi - 0x69]
lea ecx, [edi + 0x28]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7a8]
test eax, eax
je 0x4ab865
lea edx, [esi - 0x47]
lea ecx, [edi + 0x16]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7ac]
test eax, eax
je 0x4ab88a
lea edx, [esi - 0x94]
lea ecx, [edi - 0x16]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b7b0]
test eax, eax
je 0x4ab8ac
lea edx, [esi - 0x52]
lea ecx, [edi + 0x3a]
push edx
push ecx
push eax
push 0x88
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b760]
test eax, eax
je 0x4ab8ce
lea edx, [esi - 0xe7]
lea ecx, [edi - 0x34]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b768]
test eax, eax
je 0x4ab8f0
lea edx, [esi - 0x9d]
lea ecx, [edi - 0x32]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xb348c8
call fcn.0043f2f0
mov eax, dword [ebp + 0x143b784]
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x97]
lea ecx, [edi + 0x10]
push edx
push ecx
push eax
push 0x36
jmp 0x4aba40
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x6a]
lea ecx, [edi - 0x27]
push edx
jmp 0x4aba39
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x67]
lea ecx, [edi - 0x2b]
push edx
jmp 0x4aba39
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x128]
lea ecx, [edi - 6]
push edx
jmp 0x4aba39
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0xaf]
lea ecx, [edi - 0x33]
push edx
jmp 0x4aba39
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0xb1]
lea ecx, [edi + 5]
push edx
jmp 0x4aba39
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x72]
lea ecx, [edi - 0x33]
push edx
jmp 0x4aba39
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x77]
lea ecx, [edi - 0x36]
push edx
jmp 0x4aba39
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x6b]
jmp 0x4aba35
mov eax, dword [ebp + 0x143b7ac]
mov dword [0x85a3e0], 0xbd
test eax, eax
je case.0x4a986b.44
lea edx, [esi - 0x75]
push edx
lea ecx, [edi - 0x25]
push ecx
push eax
push 0xbd
mov ecx, 0xb348c8
call fcn.0043f2f0
movsx edx, word [ebp + 0x143b7fa]
xor ebx, ebx
push edx
mov ecx, 0x143b720
mov dword [esp + 0x38], ebx
call fcn.00409230
test eax, eax
jne 0x4aba78
mov ebx, dword [ebp + 0x143b820]
mov eax, ebx
shl eax, 5
mov dword [esp + 0x34], eax
shl ebx, 4
cmp dword [0xb08908], 0x10
jne 0x4aba8f
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x14ea500]
cmp eax, ecx
je 0x4abab4
mov ecx, dword [esp + 0x2c]
mov eax, dword [0x14ea518]
cmp ecx, eax
jne 0x4abc1a
mov edx, dword [0x14ea51c]
mov eax, dword [ebp + 0x143b800]
cmp edx, eax
jne 0x4abc1a
mov ax, word [ebp + 0x143b836]
test ax, ax
je 0x4abc1a
mov cx, word [ebp + 0x143b7fa]
cmp cx, 0x28
je 0x4abc1a
cmp cx, 0x29
je 0x4abc1a
cmp cx, 0x2a
je 0x4abc1a
cmp cx, 0x2b
je 0x4abc1a
cmp cx, 0x2c
je 0x4abc1a
movsx ecx, word [ebp + 0x143b834]
movsx eax, ax
push eax
push ecx
mov ecx, 0x116fd10
call fcn.0045ef70
mov ecx, eax
mov eax, 0x66666667
imul ecx
mov cx, word [ebp + 0x143b7fa]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, cx
mov dword [esp + 0x2c], eax
add eax, 0xffffffd3
cmp eax, 0x21
mov dword [esp + 0x30], edx
ja case.0x4abb48.51
xor edx, edx
mov dl, byte [eax + 0x4abedc]
jmp dword [edx*4 + 0x4abec0]
add ebx, 0x50
jmp case.0x4abb48.51
add ebx, 0x5a
jmp case.0x4abb48.51
add ebx, 0x64
jmp case.0x4abb48.51
add ebx, 0x1e
jmp case.0x4abb48.51
add ebx, 0x14
jmp case.0x4abb48.51
sub ebx, 0x1e
cmp cx, 0x13
je 0x4abb9e
cmp cx, 0xb
je 0x4abb9e
mov eax, dword [esp + 0x2c]
mov ecx, 0x143b720
push eax
call fcn.00409230
mov ecx, esi
lea edx, [edi + 4]
sub ecx, ebx
sub ecx, eax
mov eax, dword [esp + 0x30]
sub ecx, 0xc
add eax, 0x11
push ecx
push edx
push eax
jmp 0x4abc0e
mov edx, dword [esp + 0x38]
xor eax, eax
lea ecx, [ebp + 0x143b8f0]
cmp dword [ecx], edx
je 0x4abbb7
inc eax
add ecx, 4
cmp eax, 0x10
jl 0x4abbaa
mov ecx, dword [0x116fafc]
test ecx, ecx
jne 0x4abbc8
cmp eax, 0xf
je 0x4abbe9
jmp 0x4abc1a
cmp ecx, 2
jne 0x4abbd4
cmp eax, 0xc
je 0x4abbe9
jmp 0x4abc1a
cmp ecx, 4
jne 0x4abbdf
test eax, eax
je 0x4abbe9
jmp 0x4abc1a
cmp ecx, 6
jne 0x4abc1a
cmp eax, 3
jne 0x4abc1a
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, 0x143b720
call fcn.00409230
mov ecx, dword [esp + 0x30]
mov edx, esi
sub edx, ebx
sub edx, eax
lea eax, [edi + 4]
sub edx, 0xc
add ecx, 0x11
push edx
push eax
push ecx
push 0x10
mov ecx, 0xb348c8
call fcn.0043f2f0
cmp dword [0xb08954], 2
jne 0x4abc30
mov eax, dword [0xb1ef34]
test eax, eax
je 0x4abced
mov al, byte [ebp + 0x143b9be]
test al, al
je 0x4abc95
mov edx, dword [0x116fc18]
push 0
dec edx
and edx, 0x80000007
jns 0x4abc50
dec edx
or edx, 0xfffffff8
inc edx
movsx eax, word [ebp + 0x143b7fa]
add edx, 0xd3
mov ecx, 0x143b720
push edx
push 0x55
push eax
call fcn.00409230
mov ecx, esi
lea edx, [edi - 0x23]
sub ecx, ebx
sub ecx, eax
mov eax, dword [0x116fc18]
sub ecx, 0x2a
dec eax
push ecx
and eax, 0x80000007
push edx
jns 0x4abc8b
dec eax
or eax, 0xfffffff8
inc eax
add eax, 0xcb
push eax
push 0x55
jmp 0x4abce3
cmp word [ebp + 0x143b8c4], 0
je 0x4abced
mov ecx, dword [0x116fc18]
push 0
movsx edx, word [ebp + 0x143b7fa]
add ecx, 0x128
push ecx
push 0xac
push edx
mov ecx, 0x143b720
call fcn.00409230
mov ecx, esi
lea edx, [edi - 0x23]
sub ecx, ebx
sub ecx, eax
mov eax, dword [0x116fc18]
sub ecx, 0x2a
add eax, 0x118
push ecx
push edx
push eax
push 0xac
mov ecx, 0xb348c8
call fcn.00441610
mov ax, word [ebp + 0x143b7ea]
cmp ax, 1
jne 0x4abd32
mov ecx, dword [0x116fc18]
push 0
movsx edx, word [ebp + 0x143b7fa]
add ecx, 0x10
push ecx
push 0xac
push edx
mov ecx, 0x143b720
call fcn.00409230
sub esi, dword [esp + 0x40]
sub esi, eax
mov eax, dword [0x116fc18]
sub esi, 0x2a
add edi, 0xffffffdd
push esi
push edi
jmp 0x4abd76
cmp ax, 2
jne 0x4abd8f
mov ecx, dword [0x116fc18]
push 0
movsx edx, word [ebp + 0x143b7fa]
add ecx, 0x84
push ecx
push 0xac
push edx
mov ecx, 0x143b720
call fcn.00409230
mov edx, dword [esp + 0x40]
add edi, 0xffffffdd
sub esi, edx
sub esi, eax
mov eax, dword [0x116fc18]
sub esi, 0x2a
add eax, 0x74
push esi
push edi
push eax
push 0xac
mov ecx, 0xb348c8
call fcn.00441610
mov word [ebp + 0x143b7ea], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0x10