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

Disassembly:
sub esp, 0x1c
push ebx
push ebp
mov ebp, dword [esp + 0x28]
xor edx, edx
push esi
mov esi, dword [esp + 0x34]
lea eax, [ebp + ebp*4]
push edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x10], edx
lea eax, [eax + eax*4]
mov dword [esp + 0x14], edx
lea ecx, [ebp + eax*4]
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x3c]
shl ebp, 2
mov eax, dword [ebp + 0x1a464cc]
mov dword [0x9988ec], eax
mov eax, dword [ebp + 0x1a464f8]
cmp eax, edx
je case.0x4de503.43
mov ax, word [ebp + 0x1a46580]
cmp ax, dx
jle 0x4de480
cmp ax, 5
jge 0x4de480
movsx edx, ax
shl edx, 5
mov eax, 0x66666667
mov ebx, 0x20
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
sub ebx, edx
cmp ebx, 0x20
jne 0x4de482
xor ebx, ebx
mov ax, word [ebp + 0x1a46596]
cmp ax, 0x37
jne 0x4de4de
movsx ecx, word [ebp + 0x1a4659a]
cmp ecx, dword [0x176582c]
jne case.0x4de503.43
mov eax, dword [ebp + 0x1a464fc]
mov ebx, dword [0xe2cb3c]
push 0
mov ecx, esi
lea edx, [eax + 0x65]
push edx
mov edx, dword [0xe2cb40]
sub ecx, edx
mov edx, edi
sub edx, ebx
sub ecx, 0x59
push 0x55
sub edx, 5
push ecx
push edx
push eax
push 0x55
mov ecx, 0xdc0838
call fcn.0044e900
jmp case.0x4de503.43
mov edx, dword [0x150c888]
test edx, edx
jne 0x4e03c1
movsx eax, ax
add eax, 0xfffffffd
cmp eax, 0x5e
ja case.0x4de503.43
xor edx, edx
mov dl, byte [eax + 0x4e0470]
jmp dword [edx*4 + 0x4e03cc]
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4de536
lea ecx, [esi - 0x67]
lea edx, [edi - 0x27]
push ecx
push edx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov ecx, dword [ebp + 0x1a464fc]
mov dword [0x9988ec], 0
test ecx, ecx
mov dword [0x9988d8], 0x43
mov dword [0x9988e0], ecx
je 0x4de591
mov ebx, dword [0xdc08b0]
mov eax, ecx
mov ecx, dword [ecx*4 + 0x70bff4]
shl eax, 4
add ecx, ebx
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
push ecx
push edx
lea ecx, [esi - 0x39]
push eax
lea edx, [edi - 0x23]
push ecx
push edx
mov ecx, 0xdc0838
call fcn.0044f4c0
mov ecx, dword [ebp + 0x1a46500]
test ecx, ecx
mov dword [0x9988e0], ecx
je case.0x4de503.43
mov ebx, dword [0xdc08b0]
mov eax, ecx
mov ecx, dword [ecx*4 + 0x70bff4]
shl eax, 4
add ecx, ebx
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
push ecx
push edx
lea ecx, [esi - 0x46]
push eax
lea edx, [edi - 0x38]
push ecx
push edx
mov ecx, 0xdc0838
call fcn.0044f4c0
jmp case.0x4de503.43
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4de610
lea ecx, [esi - 0x95]
lea edx, [edi - 0x45]
push ecx
push edx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a464fc]
mov dword [0x9988d8], 0xab
test eax, eax
je 0x4de648
movsx ecx, word [ebp + 0x1a464d2]
movsx edx, word [ebp + 0x1a464d0]
add ecx, esi
add edx, edi
push ecx
push edx
push eax
push 0xab
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
test eax, eax
je 0x4de676
movsx ecx, word [ebp + 0x1a464d2]
movsx edx, word [ebp + 0x1a464d0]
add ecx, esi
add edx, edi
push ecx
push edx
push eax
push 0xab
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4de6a4
movsx ecx, word [ebp + 0x1a464d2]
movsx edx, word [ebp + 0x1a464d0]
add ecx, esi
add edx, edi
push ecx
push edx
push eax
push 0xab
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46508]
test eax, eax
je case.0x4de503.43
movsx ecx, word [ebp + 0x1a464d2]
movsx edx, word [ebp + 0x1a464d0]
add ecx, esi
add edx, edi
push ecx
push edx
push eax
push 0xab
jmp 0x4e0097
mov eax, dword [ebp + 0x1a464fc]
mov dword [0x9988d8], 0xb5
test eax, eax
mov dword [0x9988ec], 0
je case.0x4de503.43
lea ecx, [esi - 0x4c]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0xb5
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4de732
lea ecx, [esi - 0x7d]
lea edx, [edi + 3]
push ecx
push edx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a464fc]
mov dword [0x9988ec], 0
test eax, eax
mov dword [0x9988d8], 0x71
je 0x4de765
lea ecx, [esi - 0x3e]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x71
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
test eax, eax
je case.0x4de503.43
cmp eax, 0x7a
jle 0x4de788
lea ecx, [esi - 0x66]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x71
jmp 0x4e0097
lea ecx, [esi - 0x64]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x71
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4de7c4
lea ecx, [esi - 0x3c]
lea edx, [edi - 0x26]
push ecx
push edx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a464fc]
mov dword [0x9988ec], 1
test eax, eax
mov dword [0x9988d8], 0x19
je 0x4de7fa
lea ecx, [esi - 0x8c]
lea edx, [edi + 0xc]
push ecx
push edx
push eax
push 0x19
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
test eax, eax
je 0x4de81c
lea ecx, [esi - 0x88]
lea edx, [edi - 0x31]
push ecx
push edx
push eax
push 0x19
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4de83b
lea ecx, [esi - 0x6b]
lea edx, [edi - 0x20]
push ecx
push edx
push eax
push 0x19
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46508]
test eax, eax
je case.0x4de503.43
lea ecx, [esi - 0x6f]
lea edx, [edi - 0x5f]
push ecx
push edx
push eax
push 0x19
jmp 0x4e0097
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je 0x4de878
lea ecx, [esi - 0x7c]
lea edx, [edi + 7]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46508]
test eax, eax
je case.0x4de503.43
lea ecx, [esi - 0x7e]
lea edx, [edi - 0x33]
push ecx
push edx
push eax
push 0x36
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4de8c2
lea ecx, [esi - 0x21]
lea edx, [edi - 0x27]
push ecx
push edx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
mov dword [0x9988ec], 0
test eax, eax
mov dword [0x9988d8], 0x2f
je 0x4de964
mov cx, word [ebp + 0x1a465de]
test cx, cx
jne 0x4de902
mov dword [esp + 0x10], 0xffffffe1
mov dword [esp + 0x14], 0xffffffa8
jmp 0x4de91e
cmp cx, 1
je 0x4de90e
cmp cx, 2
jne 0x4de91e
mov dword [esp + 0x10], 0xffffffe6
mov dword [esp + 0x14], 0xffffff63
test cx, cx
jne 0x4de940
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add ecx, esi
add edx, edi
push ecx
push edx
push eax
push 0x2f
mov ecx, 0xdc0838
call fcn.0044c5a0
jmp 0x4de964
mov edx, dword [esp + 0x14]
xor ecx, ecx
mov cl, byte [ebp + 0x1a46756]
add edx, esi
push ecx
mov ecx, dword [esp + 0x14]
add ecx, edi
push edx
push ecx
push eax
push 0x2f
mov ecx, 0xdc0838
call fcn.0044c690
mov eax, dword [ebp + 0x1a46508]
test eax, eax
je 0x4de983
lea edx, [esi - 0x59]
lea ecx, [edi - 0x1f]
push edx
push ecx
push eax
push 0x2f
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46520]
test eax, eax
je 0x4de9a2
lea edx, [esi - 0x36]
lea ecx, [edi - 0x17]
push edx
push ecx
push eax
push 0x2f
mov ecx, 0xdc0838
call fcn.0044c5a0
mov edx, dword [ebp + 0x1a464fc]
test edx, edx
je 0x4dea35
mov ax, word [ebp + 0x1a465dc]
test ax, ax
jne 0x4de9c3
mov eax, 0xffffffdd
jmp 0x4dea1d
cmp ax, 1
jne 0x4de9d5
mov eax, 0xffffffdd
mov ecx, 0xffffffc8
jmp 0x4dea22
cmp ax, 2
jne 0x4de9e2
mov eax, 0xffffffdd
jmp 0x4dea1d
cmp ax, 3
jne 0x4de9f4
mov eax, 0xffffffdd
mov ecx, 0xffffffb2
jmp 0x4dea22
cmp ax, 4
jne 0x4dea06
mov eax, 0xffffffdd
mov ecx, 0xffffffa7
jmp 0x4dea22
cmp ax, 5
jne 0x4dea18
mov eax, 0xffffffdd
mov ecx, 0xffffffa7
jmp 0x4dea22
mov eax, 0xffffffcd
mov ecx, 0xffffffba
add ecx, esi
add eax, edi
push ecx
push eax
push edx
push 0x2f
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x54]
lea ecx, [edi - 0x33]
push edx
push ecx
push eax
push 0x2f
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x50]
lea ecx, [edi + 0xc]
push edx
jmp 0x4e0090
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4deaa3
lea edx, [esi - 0x56]
lea ecx, [edi - 0x25]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a464fc]
mov dword [0x9988ec], 0
test eax, eax
mov dword [0x9988d8], 0x5a
je case.0x4de503.43
lea edx, [esi - 0x3c]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x5a
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4deb01
lea edx, [esi - 0x72]
lea ecx, [edi - 0x26]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a464fc]
mov dword [0x9988ec], 0
test eax, eax
mov dword [0x9988d8], 0x1a
je 0x4deb37
lea edx, [esi - 0x103]
lea ecx, [edi - 0x4e]
push edx
push ecx
push eax
push 0x1a
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
test eax, eax
je 0x4deb5a
lea edx, [esi - 0x103]
push ebx
lea ecx, [edi - 0x4e]
push edx
push ecx
push eax
push 0x1a
mov ecx, 0xdc0838
call fcn.0044c690
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4deb7c
lea edx, [esi - 0xd0]
lea ecx, [edi - 0x4e]
push edx
push ecx
push eax
push 0x1a
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46508]
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x124]
lea ecx, [edi - 0x59]
push edx
push ecx
push eax
push 0x1a
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4debc9
lea edx, [esi - 0x7b]
lea ecx, [edi - 0x25]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a464fc]
mov dword [0x9988ec], 0
test eax, eax
mov dword [0x9988d8], 0x42
je 0x4debfc
lea edx, [esi - 0x5f]
lea ecx, [edi - 0x14]
push edx
push ecx
push eax
push 0x42
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
mov dword [0x9988ec], 0
test eax, eax
mov dword [0x9988d8], 0x17
je case.0x4de503.43
lea edx, [esi - 0x8c]
push 0x10
lea ecx, [edi - 4]
push edx
push ecx
push eax
push 0x17
mov ecx, 0xdc0838
call fcn.0044c690
jmp case.0x4de503.43
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4dec69
lea edx, [esi - 0x7b]
lea ecx, [edi - 0x25]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a464fc]
mov dword [0x9988ec], 2
test eax, eax
mov dword [0x9988d8], 0x33
je 0x4dec9c
lea edx, [esi - 0x44]
lea ecx, [edi - 0x3c]
push edx
push ecx
push eax
push 0x33
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
mov dword [0x9988ec], 0
test eax, eax
mov dword [0x9988d8], 0x17
je case.0x4de503.43
lea edx, [esi - 0x7c]
push 0x10
lea ecx, [edi + 7]
push edx
push ecx
push eax
push 0x17
mov ecx, 0xdc0838
call fcn.0044c690
jmp case.0x4de503.43
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4ded06
lea edx, [esi - 0x7b]
lea ecx, [edi - 0x25]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a464fc]
mov dword [0x9988ec], 2
test eax, eax
mov dword [0x9988d8], 0x3a
je 0x4ded39
lea edx, [esi - 0x49]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x3a
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
mov dword [0x9988ec], 0
test eax, eax
mov dword [0x9988d8], 0x17
je case.0x4de503.43
lea edx, [esi - 0x7c]
push 0x10
lea ecx, [edi + 3]
push edx
push ecx
push eax
push 0x17
mov ecx, 0xdc0838
call fcn.0044c690
jmp case.0x4de503.43
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x82]
jmp 0x4e008c
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x89]
jmp 0x4e008c
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x80]
jmp 0x4e008c
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x6d]
lea ecx, [edi - 0x37]
push edx
jmp 0x4e0090
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4dee2d
lea edx, [esi - 0x6d]
lea ecx, [edi - 0x37]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a464fc]
mov dword [0x9988ec], 0
test eax, eax
mov dword [0x9988d8], 0x58
je 0x4dee87
mov cx, word [ebp + 0x1a46582]
test cx, cx
je 0x4dee72
movsx edx, cx
push edx
lea ecx, [esi - 0x51]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x58
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4dee87
lea ecx, [esi - 0x51]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x58
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
test eax, eax
je 0x4deecd
mov cx, word [ebp + 0x1a46582]
test cx, cx
je 0x4deeb8
movsx ecx, cx
push ecx
lea edx, [esi - 0x51]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x58
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4deecd
lea edx, [esi - 0x51]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x58
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4deeec
lea edx, [esi - 0x51]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x58
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46508]
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x51]
lea ecx, [edi - 0x23]
push edx
push ecx
push eax
push 0x58
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je 0x4def36
lea edx, [esi - 0x63]
lea ecx, [edi - 0x12]
push edx
push ecx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46508]
mov dword [0x9988ec], 0
test eax, eax
mov dword [0x9988d8], 0x62
je 0x4defbf
mov cx, word [ebp + 0x1a46582]
cmp eax, 0x26
jge 0x4def8a
test cx, cx
je 0x4def80
movsx edx, cx
push edx
lea ecx, [esi - 0x6b]
lea edx, [edi - 0x50]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4defbf
lea ecx, [esi - 0x6b]
lea edx, [edi - 0x50]
push ecx
push edx
jmp 0x4defb2
test cx, cx
je 0x4defaa
movsx ecx, cx
push ecx
lea edx, [esi - 0x6b]
lea ecx, [edi - 0x50]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4defbf
lea edx, [esi - 0x64]
lea ecx, [edi - 0x67]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4df034
mov cx, word [ebp + 0x1a46582]
cmp eax, 0x26
jge 0x4defff
test cx, cx
je 0x4deff5
movsx edx, cx
push edx
lea ecx, [esi - 0x60]
lea edx, [edi - 0x3a]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4df034
lea ecx, [esi - 0x60]
lea edx, [edi - 0x3a]
push ecx
push edx
jmp 0x4df027
test cx, cx
je 0x4df01f
movsx ecx, cx
push ecx
lea edx, [esi - 0x60]
lea ecx, [edi - 0x3a]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4df034
lea edx, [esi - 0x53]
lea ecx, [edi - 0x51]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
test eax, eax
je 0x4df0a9
mov cx, word [ebp + 0x1a46582]
cmp eax, 0x26
jge 0x4df074
test cx, cx
je 0x4df06a
movsx edx, cx
push edx
lea ecx, [esi - 0x55]
lea edx, [edi - 0x24]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4df0a9
lea ecx, [esi - 0x55]
lea edx, [edi - 0x24]
push ecx
push edx
jmp 0x4df09c
test cx, cx
je 0x4df094
movsx ecx, cx
push ecx
lea edx, [esi - 0x55]
lea ecx, [edi - 0x24]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4df0a9
lea edx, [esi - 0x4a]
lea ecx, [edi - 0x37]
push edx
push ecx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je case.0x4de503.43
mov cx, word [ebp + 0x1a46582]
cmp eax, 0x26
jge 0x4df134
test cx, cx
je 0x4df0e3
movsx edx, cx
push edx
lea ecx, [esi - 0x4a]
lea edx, [edi - 0xe]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c690
jmp 0x4df0f8
lea ecx, [esi - 0x4a]
lea edx, [edi - 0xe]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c5a0
mov ax, word [ebp + 0x1a46582]
test ax, ax
je 0x4df123
movsx eax, ax
lea ecx, [esi - 0x49]
push eax
lea edx, [edi - 0xd]
push ecx
push edx
push 0x26
push 0x62
mov ecx, 0xdc0838
call fcn.0044c690
jmp case.0x4de503.43
lea eax, [esi - 0x49]
lea ecx, [edi - 2]
push eax
push ecx
push 0x26
push 0x62
jmp 0x4e0097
test cx, cx
je 0x4df157
movsx edx, cx
push edx
lea ecx, [esi - 0x4a]
lea edx, [edi - 0xe]
push ecx
push edx
push eax
push 0x62
mov ecx, 0xdc0838
call fcn.0044c690
jmp case.0x4de503.43
lea ecx, [esi - 0x3f]
lea edx, [edi - 0x21]
push ecx
push edx
push eax
push 0x62
jmp 0x4e0097
xor edx, edx
lea eax, [ebp + 0x1a4668c]
mov dword [esp + 0x38], edx
cmp dword [eax], ecx
je 0x4df180
inc edx
add eax, 4
cmp edx, 0x10
jl 0x4df173
mov eax, dword [ebp + 0x1a464fc]
mov dword [esp + 0x38], edx
test eax, eax
je 0x4df1da
test edx, edx
jne 0x4df1da
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a464fc]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4df231
cmp edx, 1
jne 0x4df231
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46504]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46524]
test eax, eax
je 0x4df288
cmp edx, 2
jne 0x4df288
mov ecx, dword [0x8f0768]
push ebx
lea eax, [ecx + eax - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46524]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46534]
test eax, eax
je 0x4df2df
cmp edx, 3
jne 0x4df2df
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46534]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46500]
test eax, eax
je 0x4df336
cmp edx, 4
jne 0x4df336
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46500]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46508]
test eax, eax
je 0x4df38d
cmp edx, 5
jne 0x4df38d
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46508]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a4652c]
test eax, eax
je 0x4df3e4
cmp edx, 6
jne 0x4df3e4
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a4652c]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46540]
test eax, eax
je 0x4df43b
cmp edx, 7
jne 0x4df43b
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46540]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46520]
test eax, eax
je 0x4df492
cmp edx, 8
jne 0x4df492
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46520]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46528]
test eax, eax
je 0x4df4e9
cmp edx, 9
jne 0x4df4e9
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46528]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46538]
test eax, eax
je 0x4df540
cmp edx, 0xa
jne 0x4df540
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46538]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46548]
test eax, eax
je 0x4df597
cmp edx, 0xb
jne 0x4df597
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46548]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46530]
test eax, eax
je 0x4df5ee
cmp edx, 0xc
jne 0x4df5ee
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46530]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a4653c]
test eax, eax
je 0x4df645
cmp edx, 0xd
jne 0x4df645
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a4653c]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46544]
test eax, eax
je 0x4df69c
cmp edx, 0xe
jne 0x4df69c
mov ecx, dword [0x8f0768]
push ebx
lea eax, [eax + ecx - 1]
mov ecx, esi
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
sub ecx, edx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
sub edx, eax
mov eax, dword [ebp + 0x1a46544]
sub ecx, 5
add edx, 0xf
push ecx
push edx
push eax
push 0x1c
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov ecx, dword [ebp + 0x1a4654c]
test ecx, ecx
je case.0x4de503.43
cmp edx, 0xf
jne case.0x4de503.43
mov eax, dword [0x8f0768]
push ebx
mov ebx, esi
lea eax, [ecx + eax - 1]
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
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, 0xdc0838
call fcn.0044c690
jmp case.0x4de503.43
xor edx, edx
lea eax, [ebp + 0x1a4668c]
mov dword [esp + 0x38], edx
cmp dword [eax], ecx
je 0x4df70e
inc edx
add eax, 4
cmp edx, 0x10
jl 0x4df701
mov eax, dword [0x150c85c]
xor ecx, ecx
cmp eax, 6
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], ecx
ja case.0x4df732.1
jmp dword [eax*4 + 0x4e04d0]
mov dword [esp + 0x24], 0
mov ecx, 5
mov dword [esp + 0x34], 7
mov dword [esp + 0x10], 0xd
mov dword [esp + 0x14], 0xf
jmp case.0x4df732.1
mov dword [esp + 0x24], 3
mov ecx, 4
mov dword [esp + 0x34], 6
mov dword [esp + 0x10], 0xc
mov dword [esp + 0x14], 0xe
jmp case.0x4df732.1
mov dword [esp + 0x24], 0xf
xor ecx, ecx
mov dword [esp + 0x34], 2
mov dword [esp + 0x10], 8
mov dword [esp + 0x14], 0xa
jmp case.0x4df732.1
mov dword [esp + 0x24], 0xc
mov ecx, 1
mov dword [esp + 0x34], 3
mov dword [esp + 0x10], 9
mov dword [esp + 0x14], 0xb
cmp edx, ecx
jne 0x4df7dc
mov eax, dword [ebp + 0x1a46520]
jmp 0x4df804
cmp edx, dword [esp + 0x34]
jne 0x4df7ea
mov eax, dword [ebp + 0x1a46528]
jmp 0x4df804
cmp edx, dword [esp + 0x10]
jne 0x4df7f8
mov eax, dword [ebp + 0x1a46540]
jmp 0x4df804
cmp edx, dword [esp + 0x14]
jne 0x4df809
mov eax, dword [ebp + 0x1a46548]
cmp eax, 0x20
jge 0x4df82a
mov edx, dword [0xe44dc8]
mov eax, 0x68
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0xfffffff6
jmp 0x4df843
mov eax, 0x1c
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0
mov dword [0x9988d8], eax
mov eax, dword [ebp + 0x1a46520]
test eax, eax
mov dword [0x9988ec], 0
je 0x4df8c0
cmp dword [esp + 0x38], ecx
jne 0x4df8bc
mov ecx, dword [esp + 0x18]
push ebx
mov edx, dword [ecx*4 + 0x8f06f8]
lea eax, [edx + eax - 1]
mov edx, esi
shl eax, 4
mov dword [esp + 0x2c], eax
movsx eax, word [eax + 0x7ee9fa]
sub edx, eax
mov eax, dword [esp + 0x20]
lea edx, [edx + eax - 0xf]
mov eax, dword [esp + 0x2c]
push edx
movsx eax, word [eax + 0x7ee9f8]
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 [ebp + 0x1a46520]
push edx
push eax
push ecx
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46528]
test eax, eax
je 0x4df92e
cmp edx, dword [esp + 0x34]
jne 0x4df92e
mov ecx, dword [esp + 0x18]
push ebx
mov edx, dword [ecx*4 + 0x8f06f8]
lea eax, [edx + eax - 1]
mov edx, esi
shl eax, 4
mov dword [esp + 0x38], eax
movsx eax, word [eax + 0x7ee9fa]
sub edx, eax
mov eax, dword [esp + 0x20]
lea edx, [edx + eax - 0xf]
mov eax, dword [esp + 0x38]
push edx
movsx eax, word [eax + 0x7ee9f8]
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 [ebp + 0x1a46528]
push edx
push eax
push ecx
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46540]
test eax, eax
je 0x4df99c
cmp edx, dword [esp + 0x10]
jne 0x4df99c
mov ecx, dword [esp + 0x18]
push ebx
mov edx, dword [ecx*4 + 0x8f06f8]
lea eax, [edx + eax - 1]
mov edx, esi
shl eax, 4
mov dword [esp + 0x38], eax
movsx eax, word [eax + 0x7ee9fa]
sub edx, eax
mov eax, dword [esp + 0x20]
lea edx, [edx + eax - 0xf]
mov eax, dword [esp + 0x38]
push edx
movsx eax, word [eax + 0x7ee9f8]
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 [ebp + 0x1a46540]
push edx
push eax
push ecx
mov ecx, 0xdc0838
call fcn.0044c690
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 0x1a46548]
test eax, eax
je 0x4df9fe
cmp edx, dword [esp + 0x14]
jne 0x4df9fe
mov ecx, dword [esp + 0x18]
push ebx
mov ebx, esi
mov edx, dword [ecx*4 + 0x8f06f8]
lea eax, [edx + eax - 1]
shl eax, 4
movsx edx, word [eax + 0x7ee9fa]
movsx eax, word [eax + 0x7ee9f8]
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 [ebp + 0x1a46548]
push edx
push eax
push ecx
mov ecx, 0xdc0838
call fcn.0044c690
mov ecx, dword [esp + 0x30]
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x24]
add eax, ecx
lea ecx, [eax + edx*2]
mov edx, dword [esp + 0x3c]
cmp edx, dword [ecx*4 + 0x1a4668c]
jne case.0x4de503.43
mov eax, dword [ebp + 0x1a464cc]
mov dword [0x9988d8], 0xbd
mov dword [0x9988ec], eax
mov eax, dword [ebp + 0x1a4653c]
test eax, eax
je case.0x4de503.43
lea ecx, [esi - 0x88]
lea edx, [edi - 0x26]
push ecx
push edx
jmp 0x4e0091
mov eax, dword [ebp + 0x1a46574]
test eax, eax
jne case.0x4de503.43
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je case.0x4de503.43
lea ecx, [esi - 0x8f]
lea edx, [edi - 0x60]
push ecx
push edx
push eax
push 0x36
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46574]
test eax, eax
jne case.0x4de503.43
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je case.0x4de503.43
lea ecx, [esi - 0x12a]
lea edx, [edi - 0x9f]
push ecx
push edx
push eax
push 0x36
jmp 0x4e0097
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je 0x4dfadb
lea ecx, [esi - 0xc1]
lea edx, [edi - 7]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
test eax, eax
je 0x4dfafd
lea ecx, [esi - 0xc1]
lea edx, [edi - 0x60]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4dfb1c
lea ecx, [esi - 0x5b]
lea edx, [edi + 3]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46508]
test eax, eax
je 0x4dfb3b
lea ecx, [esi - 0x5b]
lea edx, [edi - 0x33]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46520]
test eax, eax
je 0x4dfb5d
lea ecx, [esi - 0x5e]
lea edx, [edi + 0x11]
push ecx
push edx
push eax
push 0x89
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46524]
test eax, eax
je case.0x4de503.43
lea ecx, [esi - 0x5e]
lea edx, [edi - 0x56]
push ecx
push edx
push eax
push 0x89
jmp 0x4e0097
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je 0x4dfba0
lea ecx, [esi - 0xb2]
lea edx, [edi + 5]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
test eax, eax
je 0x4dfbc2
lea ecx, [esi - 0xb1]
lea edx, [edi - 0x40]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4dfbe1
lea ecx, [esi - 0x53]
lea edx, [edi - 0xd]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46508]
test eax, eax
je 0x4dfc00
lea ecx, [esi - 0x53]
lea edx, [edi - 0x23]
push ecx
push edx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46520]
test eax, eax
je 0x4dfc1f
lea ecx, [esi - 0x58]
push ecx
push edi
push eax
push 0x89
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46524]
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x58]
lea ecx, [edi - 0x46]
push edx
push ecx
push eax
push 0x89
jmp 0x4e0097
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je 0x4dfc5f
lea edx, [esi - 0x6e]
lea ecx, [edi + 3]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46500]
test eax, eax
je 0x4dfc7e
lea edx, [esi - 0x6a]
lea ecx, [edi - 0x20]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4dfc9d
lea edx, [esi - 0x46]
lea ecx, [edi - 0x20]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46508]
test eax, eax
je 0x4dfcbc
lea edx, [esi - 0x47]
lea ecx, [edi + 8]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46574]
test eax, eax
jne case.0x4de503.43
mov eax, dword [ebp + 0x1a46520]
test eax, eax
je 0x4dfce9
lea edx, [esi - 0x37]
lea ecx, [edi + 0x11]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46524]
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x37]
lea ecx, [edi - 0x15]
push edx
push ecx
push eax
push 0x36
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46574]
test eax, eax
jne case.0x4de503.43
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je 0x4dfd37
lea edx, [esi - 0x140]
lea ecx, [edi - 0x21]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46524]
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x17b]
lea ecx, [edi - 0x22]
push edx
push ecx
push eax
push 0x36
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46574]
test eax, eax
jne case.0x4de503.43
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je 0x4dfd88
lea edx, [esi - 0xc2]
lea ecx, [edi - 0x30]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4dfdaa
lea edx, [esi - 0x93]
lea ecx, [edi - 0x29]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46520]
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x8c]
lea ecx, [edi - 2]
push edx
push ecx
push eax
push 0x36
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46574]
test eax, eax
jne case.0x4de503.43
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je 0x4dfdfb
lea edx, [esi - 0xe1]
lea ecx, [edi - 0x3f]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4dfe1d
lea edx, [esi - 0x96]
lea ecx, [edi - 0x29]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46520]
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x93]
lea ecx, [edi + 0xd]
push edx
push ecx
push eax
push 0x36
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46574]
test eax, eax
jne case.0x4de503.43
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je 0x4dfe6e
lea edx, [esi - 0xf6]
lea ecx, [edi - 0x4d]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4dfe90
lea edx, [esi - 0x9a]
lea ecx, [edi - 0x39]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46520]
test eax, eax
je 0x4dfeb2
lea edx, [esi - 0x96]
lea ecx, [edi + 0xf]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46524]
test eax, eax
je 0x4dfed4
lea edx, [esi - 0x13b]
lea ecx, [edi - 0x4d]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46528]
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x114]
lea ecx, [edi - 0x4d]
push edx
push ecx
push eax
push 0x36
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46574]
test eax, eax
jne case.0x4de503.43
mov eax, dword [ebp + 0x1a464fc]
test eax, eax
je 0x4dff25
lea edx, [esi - 0x104]
lea ecx, [edi - 0x4c]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46504]
test eax, eax
je 0x4dff47
lea edx, [esi - 0x9d]
lea ecx, [edi - 0x32]
push edx
push ecx
push eax
push 0x36
mov ecx, 0xdc0838
call fcn.0044c5a0
mov eax, dword [ebp + 0x1a46520]
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x97]
lea ecx, [edi + 0x10]
push edx
push ecx
push eax
push 0x36
jmp 0x4e0097
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x6a]
lea ecx, [edi - 0x27]
push edx
jmp 0x4e0090
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x7c]
lea ecx, [edi - 0x26]
push edx
jmp 0x4e0090
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x97]
lea ecx, [edi - 9]
push edx
jmp 0x4e0090
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0xca]
lea ecx, [edi - 0xd]
push edx
jmp 0x4e0090
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0xb1]
lea ecx, [edi + 5]
push edx
jmp 0x4e0090
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x72]
lea ecx, [edi - 0x33]
push edx
jmp 0x4e0090
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x77]
lea ecx, [edi - 0x36]
push edx
jmp 0x4e0090
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x6b]
jmp 0x4e008c
mov eax, dword [ebp + 0x1a46548]
mov dword [0x9988d8], 0xbd
test eax, eax
je case.0x4de503.43
lea edx, [esi - 0x75]
push edx
lea ecx, [edi - 0x25]
push ecx
push eax
push 0xbd
mov ecx, 0xdc0838
call fcn.0044c5a0
mov cx, word [ebp + 0x1a46596]
xor ebx, ebx
movsx eax, cx
mov dword [esp + 0x38], ebx
mov eax, dword [eax*4 + 0x58fd84]
cmp eax, ebx
mov dword [esp + 0x34], eax
jne 0x4e00d4
mov eax, dword [ebp + 0x1a465bc]
mov edx, eax
shl edx, 5
shl eax, 4
mov dword [esp + 0x38], edx
mov ebx, eax
cmp dword [0xd16a1c], 0x10
jne 0x4e00ea
mov edx, dword [esp + 0x30]
mov eax, dword [0x1bd44ec]
cmp edx, eax
je 0x4e0110
mov eax, dword [esp + 0x30]
mov edx, dword [0x1bd450c]
cmp eax, edx
jne 0x4e027b
mov edx, dword [0x1bd4510]
mov eax, dword [ebp + 0x1a4659c]
cmp edx, eax
jne 0x4e027b
mov ax, word [ebp + 0x1a465d2]
test ax, ax
je 0x4e027b
cmp cx, 0x28
je 0x4e027b
cmp cx, 0x29
je 0x4e027b
cmp cx, 0x2a
je 0x4e027b
cmp cx, 0x2b
je 0x4e027b
cmp cx, 0x2c
je 0x4e027b
cmp cx, 0x37
je 0x4e027b
movsx ecx, ax
test ecx, ecx
jne 0x4e016a
mov ecx, 0x64
jmp 0x4e017f
movsx eax, word [ebp + 0x1a465d0]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv ecx
mov ecx, eax
mov eax, 0x66666667
imul ecx
mov cx, word [ebp + 0x1a46596]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, cx
add eax, 0xffffffd3
mov dword [esp + 0x30], edx
cmp eax, 0x21
ja case.0x4e01ae.51
xor edx, edx
mov dl, byte [eax + 0x4e0508]
jmp dword [edx*4 + 0x4e04ec]
add ebx, 0x50
jmp case.0x4e01ae.51
add ebx, 0x5a
jmp case.0x4e01ae.51
add ebx, 0x64
jmp case.0x4e01ae.51
add ebx, 0x1e
jmp case.0x4e01ae.51
add ebx, 0x14
jmp case.0x4e01ae.51
sub ebx, 0x1e
mov eax, dword [esp + 0x30]
test eax, eax
jl 0x4e027b
cmp eax, 0xa
jg 0x4e027b
cmp cx, 0x13
je 0x4e020a
cmp cx, 0xb
je 0x4e020a
mov edx, dword [esp + 0x34]
mov ecx, esi
sub ecx, edx
lea edx, [edi + 4]
sub ecx, ebx
sub ecx, 0xc
add eax, 0x11
push ecx
push edx
push eax
jmp 0x4e026f
mov edx, dword [esp + 0x3c]
xor eax, eax
lea ecx, [ebp + 0x1a4668c]
cmp dword [ecx], edx
je 0x4e0223
inc eax
add ecx, 4
cmp eax, 0x10
jl 0x4e0216
mov ecx, dword [0x150c85c]
test ecx, ecx
jne 0x4e0234
cmp eax, 0xf
je 0x4e0255
jmp 0x4e027b
cmp ecx, 2
jne 0x4e0240
cmp eax, 0xc
je 0x4e0255
jmp 0x4e027b
cmp ecx, 4
jne 0x4e024b
test eax, eax
je 0x4e0255
jmp 0x4e027b
cmp ecx, 6
jne 0x4e027b
cmp eax, 3
jne 0x4e027b
mov edx, dword [esp + 0x34]
mov eax, esi
sub eax, edx
mov edx, dword [esp + 0x30]
sub eax, ebx
lea ecx, [edi + 4]
sub eax, 0xc
add edx, 0x11
push eax
push ecx
push edx
push 0x10
mov ecx, 0xdc0838
call fcn.0044c5a0
cmp dword [0xd16a78], 2
jne 0x4e0291
mov eax, dword [0xd2b460]
test eax, eax
je 0x4e0331
mov al, byte [ebp + 0x1a4675a]
test al, al
je 0x4e02dc
mov eax, dword [0x150c980]
dec eax
and eax, 0x80000007
jns 0x4e02ad
dec eax
or eax, 0xfffffff8
inc eax
movsx edx, word [ebp + 0x1a46596]
lea ecx, [eax + 0xd3]
push 0
push ecx
mov ecx, esi
sub ecx, dword [edx*4 + 0x58fd84]
push 0x55
lea edx, [edi - 0x23]
sub ecx, ebx
sub ecx, 0x2a
add eax, 0xcb
push ecx
push edx
push eax
push 0x55
jmp 0x4e0327
cmp word [ebp + 0x1a46660], 0
je 0x4e0331
mov eax, dword [0xd16b18]
test eax, eax
je 0x4e0331
mov eax, dword [0x150c980]
push 0
movsx edx, word [ebp + 0x1a46596]
lea ecx, [eax + 0x128]
push ecx
mov ecx, esi
sub ecx, dword [edx*4 + 0x58fd84]
push 0xac
lea edx, [edi - 0x23]
sub ecx, ebx
sub ecx, 0x2a
add eax, 0x118
push ecx
push edx
push eax
push 0xac
mov ecx, 0xdc0838
call fcn.0044e900
mov ax, word [ebp + 0x1a46586]
cmp ax, 1
jne 0x4e036e
movsx edx, word [ebp + 0x1a46596]
mov eax, dword [0x150c980]
push 0
mov ebx, dword [edx*4 + 0x58fd84]
mov edx, dword [esp + 0x3c]
sub esi, ebx
lea ecx, [eax + 0x10]
sub esi, edx
push ecx
sub esi, 0x2a
push 0xac
add edi, 0xffffffdd
push esi
push edi
jmp 0x4e03a8
cmp ax, 2
jne 0x4e03c1
movsx edx, word [ebp + 0x1a46596]
mov eax, dword [0x150c980]
push 0
mov ebx, dword [edx*4 + 0x58fd84]
mov edx, dword [esp + 0x3c]
sub esi, ebx
lea ecx, [eax + 0x84]
sub esi, edx
push ecx
sub esi, 0x2a
push 0xac
add edi, 0xffffffdd
push esi
push edi
add eax, 0x74
push eax
push 0xac
mov ecx, 0xdc0838
call fcn.0044e900
mov word [ebp + 0x1a46586], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10