Function at 0x480050
Capabilities:
Parse credit card information

Disassembly:
mov eax, 0x1920
call fcn.0052f720
mov eax, dword [0x58bb30]
xor eax, esp
mov dword [esp + 0x191c], eax
push esi
push edi
mov edi, dword [esp + 0x192c]
mov esi, ecx
push edi
mov dword [esp + 0x24], esi
call fcn.0040e370
test al, al
jne 0x4819f2
movzx eax, word [edi]
push ebx
push ebp
push eax
call fcn.004c10e0
add eax, 0xffffffc0
cmp eax, 0x1a
ja case.0x48009c.66
jmp dword [eax*4 + 0x481a0c]
xor eax, eax
cmp word [edi + 2], 0x2b
sete al
inc eax
mov dword [esi + 0xd42c], eax
jmp case.0x4800d6.78
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
add eax, 0xffffffbd
cmp eax, 0x13
ja case.0x4800d6.69
movzx eax, byte [eax + 0x481aa0]
jmp dword [eax*4 + 0x481a78]
mov byte [esi + 0x705c], 1
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
test ax, ax
jne 0x480101
mov dword [esi + 0x83d0], 1
jmp case.0x4800d6.78
cmp eax, 0x31
jne 0x480115
mov dword [esi + 0x83d0], 2
jmp case.0x4800d6.78
cmp eax, 0x32
jne case.0x4800d6.78
mov dword [esi + 0x83d0], 3
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
lea ebx, [edi + 4]
add edi, 6
cmp eax, 0x2d
jne 0x48014e
cmp word [edi], 0
jne 0x48014e
mov byte [esi + 0x70b1], 0
jmp case.0x4800d6.78
push eax
call fcn.004c10e0
push 0x80
cmp eax, 0x46
jne 0x480170
push edi
add esi, 0x71b2
push esi
call fcn.004bd090
jmp case.0x4800d6.78
mov byte [esi + 0x70b1], 1
add esi, 0x70b2
push ebx
push esi
call fcn.004bd090
jmp case.0x4800d6.78
mov byte [esi + 0x72b6], 1
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
push eax
call fcn.004c10e0
sub eax, 0
je 0x4801ef
sub eax, 0x52
je 0x4801e0
sub eax, 1
je 0x4801ef
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4801d0
jmp 0x4819ab
mov dword [esi + 0x7048], 2
jmp case.0x4800d6.78
mov dword [esi + 0x7048], 1
jmp case.0x4800d6.78
mov byte [esi + 0x705d], 1
jmp case.0x4800d6.78
push 0x800
lea eax, [edi + 4]
add esi, 0x4028
push eax
push esi
call fcn.004bd090
jmp case.0x4800d6.78
mov byte [esi + 0x72b2], 1
jmp case.0x4800d6.78
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480250
jmp 0x4819ab
cmp word [edi + 4], 0
jne 0x48029f
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
cmp eax, 0x2d
je 0x480298
cmp eax, 0x4c
je 0x48028c
cmp eax, 0x55
jne 0x48029f
mov dword [esi + 0x7084], 1
jmp 0x48029f
mov dword [esi + 0x7084], 2
jmp 0x48029f
mov byte [esi + 0x705e], 1
push 0x566f6c
lea eax, [edi + 2]
push eax
call fcn.004c1160
test eax, eax
jne case.0x4800d6.78
mov byte [esi + 0x730a], 1
jmp case.0x4800d6.78
cmp word [edi + 4], 0
jne case.0x4800d6.78
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
add eax, 0xffffffba
cmp eax, 0x11
ja case.0x4800d6.78
movzx eax, byte [eax + 0x481acc]
jmp dword [eax*4 + 0x481ab4]
mov byte [esi + 0x707e], 1
jmp case.0x4800d6.78
mov byte [esi + 0x7095], 1
jmp case.0x4800d6.78
mov byte [esi + 0x7096], 1
jmp case.0x4800d6.78
mov byte [esi + 0x7096], 1
mov byte [esi + 0x709a], 1
jmp case.0x4800d6.78
mov byte [esi + 0x7096], 1
mov byte [esi + 0x709b], 1
jmp case.0x4800d6.78
movzx eax, word [edi + 2]
lea ebx, [edi + 2]
push eax
call fcn.004c10e0
cmp eax, 0x50
je 0x48037e
cmp word [ebx], 0x2b
mov ecx, esi
jne 0x48036d
lea eax, [esi + 9]
push eax
lea eax, [edi + 4]
push eax
call fcn.0047f550
or dword [esi + 4], eax
mov byte [esi + 0xa], 1
jmp case.0x4800d6.78
lea eax, [esi + 8]
push eax
push ebx
call fcn.0047f550
or dword [esi], eax
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
cmp eax, 0x34
ja case.0x4800d6.78
movzx eax, byte [eax + 0x481af8]
jmp dword [eax*4 + 0x481ae0]
mov dword [esi + 0x7064], 1
jmp case.0x4800d6.78
mov dword [esi + 0x7064], 2
jmp case.0x4800d6.78
mov dword [esi + 0x7064], 3
jmp case.0x4800d6.78
mov dword [esi + 0x7064], 4
jmp case.0x4800d6.78
push 0x800
lea eax, [edi + 6]
add esi, 0x5028
push eax
push esi
call fcn.004bd090
jmp case.0x4800d6.78
cmp word [edi + 2], 0
jne 0x480402
mov byte [esi + 0x705f], 1
jmp case.0x4800d6.78
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480421
jmp 0x4819ab
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
cmp eax, 0x50
je 0x4804e1
cmp eax, 0x54
je 0x480480
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
jmp 0x480470
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480470
jmp 0x4819ab
movzx eax, word [edi + 4]
push eax
call fcn.004c10e0
sub eax, 0x42
je 0x4804d2
sub eax, 1
je 0x4804c3
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4804b3
jmp 0x4819ab
mov dword [esi + 0x703c], 2
jmp case.0x4800d6.78
mov dword [esi + 0x703c], 3
jmp case.0x4800d6.78
lea ecx, [esi + 0x6028]
lea ebx, [edi + 4]
mov byte [ecx], 1
cmp word [ebx], 0
je 0x48055e
mov ecx, ebx
lea edx, [ecx + 2]
jmp 0x480500
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480500
sub ecx, edx
sar ecx, 1
cmp ecx, 0x200
jb 0x48052b
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x1ff
push eax
push 0x63
call fcn.0047f060
push ebx
lea ecx, [esi + 0xf620]
call fcn.004ba4d0
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480540
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
push edi
call fcn.004ba540
jmp case.0x4800d6.78
cmp byte [esi + 0xf62c], 0
jne case.0x4800d6.78
lea eax, [esi + 0xd423]
add esi, 0xf620
push eax
push ecx
push esi
call fcn.004057f0
test al, al
jne case.0x4800d6.78
push 0xff
mov ecx, 0x5d281c
call fcn.00487440
jmp case.0x4800d6.78
push 3
push 0x566f74
lea ebx, [edi + 2]
push ebx
call fcn.004c11b0
test eax, eax
jne 0x4805d3
add edi, 8
cmp word [edi], ax
jne 0x4805bc
mov edi, str.rar.log
push 0x800
push edi
add esi, 0x602c
push esi
call fcn.004bd090
jmp case.0x4800d6.78
push 3
push 0x566f8c
push ebx
call fcn.004c11b0
test eax, eax
jne 0x4805f8
cmp word [edi + 8], 0x2d
sete al
inc eax
mov dword [esi + 0x7030], eax
jmp case.0x4800d6.78
push 0x566f94
push ebx
call fcn.004c1160
test eax, eax
jne 0x480616
mov dword [esi + 0x702c], 1
jmp case.0x4800d6.78
push 3
push 0x566f9c
push ebx
call fcn.004c11b0
test eax, eax
jne 0x48064b
add edi, 8
cmp word [edi], ax
jne 0x480634
mov edi, 0x566fa4
push 0x800
push edi
add esi, 0x73cc
push esi
call fcn.004bd090
jmp case.0x4800d6.78
push 0x566fa8
push ebx
call fcn.004c1160
test eax, eax
jne 0x480666
mov byte [esi + 0x707d], 1
jmp case.0x4800d6.78
push 0x566fac
push ebx
call fcn.004c1160
test eax, eax
jne 0x480684
mov dword [esi + 0x702c], 3
jmp case.0x4800d6.78
movzx eax, word [ebx]
push eax
call fcn.004c10e0
cmp eax, 0x44
jne 0x48070c
lea ebx, [eax - 0x42]
movzx eax, word [edi + 4]
mov ecx, eax
test ax, ax
je case.0x4800d6.78
movzx eax, cx
push eax
call fcn.004c10e0
add eax, 0xffffffbd
cmp eax, 0x13
ja case.0x4806bc.69
movzx eax, byte [eax + 0x481b4c]
jmp dword [eax*4 + 0x481b30]
mov dword [esi + 0x702c], 2
jmp case.0x4806bc.69
mov byte [esi + 0x704d], 1
jmp case.0x4806bc.69
mov byte [esi + 0x704e], 1
jmp case.0x4806bc.69
mov byte [esi + 0x704c], 1
jmp case.0x4806bc.69
mov byte [esi + 0x704f], 1
jmp case.0x4806bc.69
mov byte [esi + 0x707d], 1
movzx eax, word [edi + ebx*2 + 2]
inc ebx
mov ecx, eax
test ax, ax
jne 0x4806a4
jmp case.0x4800d6.78
push 3
push 0x566fb4
push ebx
call fcn.004c11b0
test eax, eax
jne 0x480774
movzx eax, word [edi + 8]
cmp eax, 0x34
ja case.0x4800d6.78
movzx eax, byte [eax + 0x481b74]
jmp dword [eax*4 + 0x481b60]
mov dword [esi + 0x83d4], 1
jmp case.0x4800d6.78
mov dword [esi + 0x83d4], 2
jmp case.0x4800d6.78
mov dword [esi + 0x83d4], 3
jmp case.0x4800d6.78
mov dword [esi + 0x83d4], 4
jmp case.0x4800d6.78
push 0x566fbc
push ebx
call fcn.004c1160
test eax, eax
jne 0x48078f
mov byte [esi + 0x7050], 1
jmp case.0x4800d6.78
push 0x566fc4
push ebx
call fcn.004c1160
test eax, eax
jne case.0x4800d6.78
mov byte [esi + 0x70b0], 1
jmp case.0x4800d6.78
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
test eax, eax
je 0x4807d1
cmp eax, 0x42
jne case.0x4800d6.78
mov byte [esi + 0x7094], 1
jmp case.0x4800d6.78
mov byte [esi + 0x7308], 1
jmp case.0x4800d6.78
push 2
push 0x566fcc
lea eax, [edi + 2]
push eax
call fcn.004c11b0
test eax, eax
jne case.0x4800d6.78
lea eax, [edi + 6]
mov ecx, 0x5d280c
push eax
call fcn.00495990
test al, al
jne case.0x4800d6.78
cmp byte [esi + 0x707c], al
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480830
jmp 0x4819ab
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
add eax, 0xffffffbf
cmp eax, 0x13
ja case.0x48085d.66
movzx eax, byte [eax + 0x481bcc]
jmp dword [eax*4 + 0x481bac]
movzx eax, word [edi + 4]
test ax, ax
je 0x48087f
cmp eax, 0x35
je 0x48087f
xor al, al
mov byte [esi + 0x7098], al
jmp case.0x4800d6.78
mov al, 1
mov byte [esi + 0x7098], al
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
add edi, 4
cmp eax, 0x2d
jne 0x4808b6
add esi, 0x730c
mov eax, 0x10
mov dword [esi], 3
lea esi, [esi + 0xc]
sub eax, 1
jne 0x4808a3
jmp case.0x4800d6.78
test ax, ax
je case.0x4800d6.78
mov ecx, eax
mov ebp, 1
movzx eax, cx
push eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
lea ebx, [ebp + 7]
call fcn.004bcc60
test al, al
je 0x480911
push edi
call fcn.004c1020
movzx ecx, word [edi]
push ecx
mov dword [esp + 0x28], eax
call fcn.004bcc60
test al, al
je 0x480911
lea ecx, [ecx]
movzx eax, word [edi + 2]
add edi, 2
push eax
call fcn.004bcc60
test al, al
jne 0x480900
cmp word [edi], 0x3a
jne 0x480957
lea eax, [edi + 2]
mov dword [esp + 0x1c], eax
movzx eax, word [eax]
push eax
call fcn.004bcc60
test al, al
je 0x480957
mov edi, dword [esp + 0x1c]
push edi
call fcn.004c1020
movzx ecx, word [edi]
push ecx
mov dword [esp + 0x24], eax
call fcn.004bcc60
test al, al
je 0x480957
movzx eax, word [edi + 2]
add edi, 2
push eax
call fcn.004bcc60
test al, al
jne 0x480946
movzx eax, word [edi]
add edi, 2
push eax
call fcn.004c10e0
add eax, 0xffffffbf
cmp eax, 0x13
ja case.0x480972.66
movzx eax, byte [eax + 0x481bfc]
jmp dword [eax*4 + 0x481be0]
mov ebx, 7
jmp case.0x480972.66
mov ebx, ebp
jmp case.0x480972.66
xor ebx, ebx
jmp case.0x480972.66
mov ebx, 4
jmp case.0x480972.66
mov ebx, 5
jmp case.0x480972.66
mov ebx, 3
movzx eax, word [edi]
cmp eax, 0x2b
je 0x4809a8
cmp eax, 0x2d
jne 0x4809ba
add edi, 2
mov ebp, 2
cmp eax, 0x2b
je 0x4809ba
mov ebp, 3
mov ecx, dword [esp + 0x24]
lea eax, [ebx + ebx*2]
mov dword [esi + eax*4 + 0x7310], ecx
mov ecx, dword [esp + 0x20]
mov dword [esi + eax*4 + 0x730c], ebp
lea eax, [ebx + ebx*2]
mov dword [esi + eax*4 + 0x7314], ecx
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x4808c1
jmp case.0x4800d6.78
lea ebx, [edi + 4]
push ebx
call fcn.004c1020
mov dword [esi + 0xc], eax
test eax, eax
jne 0x480a15
movzx eax, word [ebx]
push eax
call fcn.004c10e0
mov edx, 0x10000
lea ecx, [eax - 0x41]
shl edx, cl
jmp 0x480a54
mov ecx, edi
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480a20
sub ecx, edx
sar ecx, 1
movzx eax, word [edi + ecx*2 - 2]
push eax
call fcn.004c10e0
mov edx, dword [esi + 0xc]
sub eax, 0x47
je 0x480a51
sub eax, 4
je 0x480a4c
shl edx, 0x14
jmp 0x480a54
shl edx, 0xa
jmp 0x480a54
shl edx, 0x1e
xor edi, edi
mov dword [esi + 0xc], edx
cmp edx, 0x40000000
ja 0x480a81
mov eax, 0x10000
xor ecx, ecx
cmp edx, eax
jne 0x480a70
cmp edi, ecx
je 0x480a98
shld ecx, eax, 1
add eax, eax
cmp ecx, 1
jb 0x480a68
ja 0x480a81
test eax, eax
je 0x480a68
mov eax, 0x400000
mov dword [esi + 0xc], 0x400000
mov dword [esi + 0x93f4], eax
jmp case.0x4800d6.78
mov eax, dword [esi + 0xc]
mov dword [esi + 0x93f4], eax
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
push eax
call fcn.004c10e0
cmp eax, 0x5a
jne 0x480acb
movzx eax, word [edi + 6]
push eax
call fcn.004c10e0
cmp eax, 0x4c
jne 0x480acb
mov byte [esi + 0xd423], 1
movzx eax, word [edi + 4]
push eax
call fcn.004c10e0
cmp eax, 0x53
jne case.0x4800d6.78
cmp word [edi + 6], 0
jne case.0x4800d6.78
mov byte [esi + 0x6029], 1
jmp case.0x4800d6.78
add edi, 4
cmp word [edi], 0
jne 0x480b03
mov edi, str.7z_ace_arj_bz2_cab_gz_jpeg_jpg_lha_lz_lzh_mp3_rar_taz_tbz_tbz2_tgz_txz_xz_z_zip_zipx_zst_tzst
push 0x400
push edi
lea eax, [esp + 0x1134]
push eax
call fcn.004bd090
cmp word [esp + 0x112c], 0
lea edi, [esp + 0x112c]
je case.0x4800d6.78
lea ebx, [esi + 0xf5c4]
push 0x3b
push edi
call fcn.00530cd5
mov esi, eax
add esp, 8
test esi, esi
je 0x480b48
xor eax, eax
mov word [esi], ax
cmp word [edi], 0x2e
jne 0x480b51
add edi, 2
push 0x567094
push edi
call fcn.0053c6ce
add esp, 8
test eax, eax
lea eax, [esp + 0x2c]
jne 0x480b7d
push edi
push str.._ls
push 0x800
push eax
call fcn.00404ce0
add esp, 0x10
jmp 0x480b89
push 0x800
push edi
push eax
call fcn.004bd090
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.004bd180
test esi, esi
je case.0x4800d6.78
cmp word [esi + 2], 0
lea edi, [esi + 2]
jne 0x480b32
jmp case.0x4800d6.78
lea eax, [edi + 4]
push eax
call fcn.004c1020
mov dword [esi + 0x93e8], eax
dec eax
cmp eax, 0x3f
ja 0x480bcd
mov byte [esi + 0x93ec], 1
jmp case.0x4800d6.78
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480bf0
jmp 0x4819ab
movzx eax, word [edi + 2]
sub eax, 0x30
mov dword [esi + 0x7038], eax
cmp eax, 5
jg 0x480c1a
test eax, eax
jns case.0x4800d6.78
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480c40
jmp 0x4819ab
cmp word [edi + 2], 0
lea ebx, [edi + 2]
je case.0x4800d6.78
movzx eax, word [edi]
push eax
call fcn.004c10e0
sub eax, 0x4e
lea ebp, [esi + 0xf50c]
neg eax
sbb eax, eax
and eax, 0xffffffa4
add ebp, eax
cmp word [ebx], 0x40
jne 0x480ca8
push edi
call fcn.004a2580
test al, al
jne 0x480ca8
push 1
push 1
push 1
push dword [esi + 0x401c]
lea eax, [edi + 4]
push 1
push 0
push ebp
push eax
call fcn.00492010
jmp case.0x4800d6.78
push ebx
mov ecx, ebp
call fcn.004bd180
jmp case.0x4800d6.78
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
cmp eax, 0x57
ja case.0x480ccf.1
movzx eax, byte [eax + 0x481c44]
jmp dword [eax*4 + 0x481c10]
mov dword [esi + 0x7034], 1
jmp case.0x4800d6.78
mov dword [esi + 0x7034], 2
jmp case.0x4800d6.78
mov dword [esi + 0x7034], 4
jmp case.0x4800d6.78
mov byte [esi + 0x72b5], 1
jmp case.0x4800d6.78
mov byte [esi + 0x708a], 1
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
add edi, 4
add eax, 0xffffffd3
cmp eax, 5
ja case.0x480d2a.46
jmp dword [eax*4 + 0x481c9c]
mov dword [esi + 0x70a0], 0
jmp 0x480d53
mov dword [esi + 0x70a0], 2
jmp 0x480d53
mov dword [esi + 0x70a0], 1
push 0x3a
push edi
call fcn.00530cd5
add esp, 8
test eax, eax
je case.0x4800d6.78
add eax, 2
push eax
call fcn.004c0f90
mov dword [esi + 0x70a8], eax
mov dword [esi + 0x70ac], edx
jmp case.0x4800d6.78
mov byte [esi + 0x7089], 1
movzx eax, word [edi + 4]
push eax
call fcn.004c10e0
cmp eax, 0x41
jne case.0x4800d6.78
mov byte [esi + 0x708b], 1
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
push eax
call fcn.004c10e0
cmp eax, 0x49
jne case.0x4800d6.78
mov byte [esi + 0x7097], 1
jmp case.0x4800d6.78
add esi, 0x2016
lea eax, [edi + 4]
jmp 0x481935
mov dword [esi + 0x7034], 3
jmp case.0x4800d6.78
mov byte [esi + 0x72b4], 1
jmp case.0x4800d6.78
mov byte [esi + 0x7088], 1
jmp case.0x4800d6.78
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480e20
jmp 0x4819ab
cmp word [edi + 2], 0
lea ebx, [edi + 2]
jne 0x480e70
lea eax, [esi + 0xd423]
push eax
lea eax, [esi + 0x6028]
add esi, 0xf620
push eax
push esi
call fcn.004057f0
test al, al
jne case.0x4800d6.78
push 0xff
mov ecx, 0x5d281c
call fcn.00487440
jmp case.0x4800d6.78
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480e75
sub ecx, edx
sar ecx, 1
cmp ecx, 0x200
jb 0x480ea0
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x1ff
push eax
push 0x63
call fcn.0047f060
push ebx
lea ecx, [esi + 0xf620]
call fcn.004ba4d0
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480eb1
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
push edi
call fcn.004ba540
jmp case.0x4800d6.78
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
cmp eax, 0x4f
jne 0x480f53
movzx eax, word [edi + 4]
push eax
call fcn.004c10e0
sub eax, 0
je 0x480f44
sub eax, 0x2b
je 0x480f35
sub eax, 2
je 0x480f26
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480f16
jmp 0x4819ab
mov dword [esi + 0x2010], 0
jmp case.0x4800d6.78
mov dword [esi + 0x2010], 2
jmp case.0x4800d6.78
mov dword [esi + 0x2010], 1
jmp case.0x4800d6.78
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480f72
jmp 0x4819ab
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
cmp eax, 0x56
ja case.0x4800d6.78
movzx eax, byte [eax + 0x481cd0]
jmp dword [eax*4 + 0x481cb4]
mov dword [esi + 0x7068], 2
jmp case.0x4800d6.78
mov dword [esi + 0x7068], 1
jmp case.0x4800d6.78
mov dword [esi + 0x7068], 3
jmp case.0x4800d6.78
push 0xfffffffffffffffd
lea eax, [edi + 4]
mov ecx, esi
push eax
push edi
call fcn.0047f600
mov dword [esi + 0x7040], eax
jmp case.0x4800d6.78
push 0xfffffffffffffff6
lea eax, [edi + 4]
mov ecx, esi
push eax
push edi
call fcn.0047f600
mov dword [esi + 0x7044], eax
jmp case.0x4800d6.78
lea ebx, [edi + 4]
push ebx
call fcn.004c1020
mov dword [esi + 0x708c], eax
test eax, eax
js 0x48101e
cmp eax, 0xf
jle 0x481090
cmp byte [esi + 0x707c], 0
mov edx, edi
jne 0x481090
cmp dword [esi + 0x702c], 3
je 0x481090
mov ecx, edi
lea ebp, [ecx + 2]
jmp 0x481040
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481040
sub ecx, ebp
sar ecx, 1
cmp ecx, 0x880
jb 0x48105c
mov edx, str._unk_
push edx
push 0x372
call fcn.004b68d0
push eax
lea eax, [esp + 0x34]
push 0x880
push eax
call fcn.00404ce0
add esp, 0x10
push 0x10
push 0x66
call fcn.004b68d0
push eax
lea eax, [esp + 0x34]
push eax
push 0
call fcn.004fdf00
push 0x3a
push ebx
call fcn.00530cd5
add esp, 8
test eax, eax
je 0x48113b
add eax, 2
push eax
call fcn.004c1020
mov dword [esi + 0x7090], eax
cmp eax, 0x3e8
jle 0x481130
cmp byte [esi + 0x707c], 0
jne 0x481130
cmp dword [esi + 0x702c], 3
je 0x481130
mov ecx, edi
lea edx, [ecx + 2]
jmp 0x4810e0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4810e0
sub ecx, edx
sar ecx, 1
cmp ecx, 0x880
jb 0x4810fc
mov edi, str._unk_
push edi
push 0x372
call fcn.004b68d0
push eax
lea eax, [esp + 0x34]
push 0x880
push eax
call fcn.00404ce0
add esp, 0x10
push 0x10
push 0x66
call fcn.004b68d0
push eax
lea eax, [esp + 0x34]
push eax
push 0
call fcn.004fdf00
push dword [esi + 0x7090]
call fcn.004bda20
push dword [esi + 0x708c]
call fcn.004bdba0
jmp case.0x4800d6.78
push 3
push 0x5670a8
push edi
call fcn.004c11b0
test eax, eax
jne 0x4811a8
cmp word [edi + 6], ax
lea ebx, [edi + 6]
jne 0x48116a
mov ebx, str.default.sfx
push ebx
call fcn.004a2d90
cmp eax, ebx
jne 0x481196
push ebx
call fcn.00490c30
test al, al
jne 0x481196
push 0
push 1
push 0x800
lea eax, [esi + 0x1010]
push eax
push ebx
call fcn.004a1cb0
jmp 0x4811a8
push 0x800
push ebx
lea eax, [esi + 0x1010]
push eax
call fcn.004bd090
movzx eax, word [edi + 2]
lea ebx, [edi + 2]
push eax
call fcn.004bcc60
test al, al
je 0x4811d1
or dword [esi + 0x7054], 2
push ebx
call fcn.004c1020
mov dword [esi + 0x7058], eax
jmp case.0x4800d6.78
movzx eax, word [ebx]
push eax
call fcn.004c10e0
cmp eax, 0x56
ja case.0x4800d6.78
movzx eax, byte [eax + 0x481d4c]
jmp dword [eax*4 + 0x481d28]
or dword [esi + 0x7054], 1
jmp case.0x4800d6.78
mov dword [esi + 0x7054], 0
jmp case.0x4800d6.78
or dword [esi + 0x7054], 4
jmp case.0x4800d6.78
xor eax, eax
cmp word [edi + 4], 0x2d
setne al
lea eax, [eax*8 + 8]
or dword [esi + 0x7054], eax
jmp case.0x4800d6.78
or dword [esi + 0x7054], 8
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
add edi, 4
push eax
call fcn.004bcc60
test al, al
je case.0x4800d6.78
push edi
call fcn.004c0f90
mov dword [esi + 0x72f8], eax
mov dword [esi + 0x72fc], edx
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
add edi, 4
push eax
call fcn.004bcc60
test al, al
je case.0x4800d6.78
push edi
call fcn.004c0f90
mov dword [esi + 0x7300], eax
mov dword [esi + 0x7304], edx
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
push eax
mov byte [esp + 0x17], 0
call fcn.004c10e0
add eax, 0xffffffbf
cmp eax, 0x14
ja case.0x4812ba.66
movzx eax, byte [eax + 0x481db8]
jmp dword [eax*4 + 0x481da4]
mov ebx, 1
jmp 0x4812db
mov ebx, 2
jmp 0x4812db
mov ebx, 3
jmp 0x4812db
mov ebx, 4
cmp word [edi + 6], 0
lea ebp, [edi + 6]
jne 0x481302
mov dword [esi + 0x4024], ebx
mov dword [esi + 0x4020], ebx
mov dword [esi + 0x401c], ebx
mov dword [esi + 0x4018], ebx
jmp case.0x4800d6.78
mov al, byte [esp + 0x13]
test al, al
jne case.0x4800d6.78
movzx eax, word [ebp]
push eax
call fcn.004c10e0
add eax, 0xffffffbd
cmp eax, 0xf
ja case.0x481327.68
movzx eax, byte [eax + 0x481de4]
jmp dword [eax*4 + 0x481dd0]
mov al, byte [esp + 0x13]
mov dword [esi + 0x4018], ebx
jmp 0x4813e8
mov al, byte [esp + 0x13]
mov dword [esi + 0x401c], ebx
jmp 0x4813e8
mov al, byte [esp + 0x13]
mov dword [esi + 0x4020], ebx
jmp 0x4813e8
mov al, byte [esp + 0x13]
mov dword [esi + 0x4024], ebx
jmp 0x4813e8
cmp byte [esi + 0x707c], 0
mov edx, edi
jne 0x4813e2
cmp dword [esi + 0x702c], 3
je 0x4813e2
mov ecx, edi
lea eax, [ecx + 2]
mov dword [esp + 0x1c], eax
jmp 0x481390
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481390
sub ecx, dword [esp + 0x1c]
sar ecx, 1
cmp ecx, 0x880
jb 0x4813ae
mov edx, str._unk_
push edx
push 0x372
call fcn.004b68d0
push eax
lea eax, [esp + 0x34]
push 0x880
push eax
call fcn.00404ce0
add esp, 0x10
push 0x10
push 0x66
call fcn.004b68d0
push eax
lea eax, [esp + 0x34]
push eax
push 0
call fcn.004fdf00
mov al, 1
mov byte [esp + 0x13], al
add ebp, 2
cmp word [ebp], 0
jne 0x481306
jmp case.0x4800d6.78
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481420
jmp 0x4819ab
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
cmp eax, 0x56
ja case.0x48144a.1
movzx eax, byte [eax + 0x481e20]
jmp dword [eax*4 + 0x481df4]
mov dword [esi + 0x7080], 1
jmp case.0x4800d6.78
mov dword [esi + 0x7080], 2
jmp case.0x4800d6.78
push 1
push 1
lea eax, [edi + 4]
mov ecx, esi
push eax
call fcn.00482280
jmp case.0x4800d6.78
push 1
push 0
lea eax, [edi + 4]
mov ecx, esi
push eax
call fcn.00482280
jmp case.0x4800d6.78
push 0
push 1
lea eax, [edi + 4]
mov ecx, esi
push eax
call fcn.00482280
jmp case.0x4800d6.78
push 0
push 0
lea eax, [edi + 4]
mov ecx, esi
push eax
call fcn.00482280
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
lea ebx, [edi + 4]
test ax, ax
je 0x4814e4
push eax
call fcn.004bcc60
test al, al
jne 0x4814e4
movzx eax, word [ebx]
cmp eax, 0x2d
je 0x4814e4
mov ecx, eax
cmp eax, 0x2b
jne 0x481515
movzx eax, word [ebx]
xor ecx, ecx
cmp eax, 0x2d
sete cl
dec ecx
and ecx, 2
cmp eax, 0x31
jne 0x4814fd
mov ecx, 1
add ebx, 2
mov dword [esi + 0x83e0], ecx
mov dword [esi + 0x83dc], ecx
mov dword [esi + 0x83d8], ecx
movzx ecx, word [ebx]
test cx, cx
je case.0x4800d6.78
mov edi, edi
movzx eax, word [ebx + 2]
mov edi, 2
cmp eax, 0x2d
jne 0x481532
xor edi, edi
jmp 0x48153a
cmp eax, 0x31
jne 0x48153a
lea edi, [eax - 0x30]
movzx eax, word [ebx]
push eax
call fcn.004c10e0
add eax, 0xffffffbf
cmp eax, 0xf
ja case.0x481552.66
movzx eax, byte [eax + 0x481e8c]
jmp dword [eax*4 + 0x481e78]
mov dword [esi + 0x83d8], edi
jmp case.0x481552.66
mov dword [esi + 0x83dc], edi
jmp case.0x481552.66
mov dword [esi + 0x83e0], edi
jmp case.0x481552.66
mov byte [esi + 0x83e4], 1
add ebx, 2
cmp word [ebx], 0
jne 0x481520
jmp case.0x4800d6.78
mov byte [esi + 0x7309], 0
jmp case.0x4800d6.78
mov byte [esi + 0x7309], 1
jmp case.0x4800d6.78
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4815c0
jmp 0x4819ab
cmp word [edi + 2], 0
jne 0x4815e3
mov byte [esi + 0x7060], 1
jmp case.0x4800d6.78
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481602
jmp 0x4819ab
movzx eax, word [edi + 2]
push eax
call fcn.004c10e0
add eax, 0xffffffd3
cmp eax, 0x23
ja case.0x48162b.46
movzx eax, byte [eax + 0x481eb4]
jmp dword [eax*4 + 0x481e9c]
mov byte [esi + 0x7099], 1
jmp case.0x4800d6.78
mov byte [esi + 0x709c], 1
jmp case.0x4800d6.78
mov byte [esi + 0x730b], 1
jmp case.0x4800d6.78
movzx eax, word [edi + 4]
push eax
call fcn.004c10e0
cmp eax, 0x52
jne case.0x4800d6.78
lea eax, [edi + 6]
push eax
call fcn.004c1020
inc eax
mov dword [esi + 0x83cc], eax
jmp case.0x4800d6.78
mov dword [esi + 0x7070], 0
mov dword [esi + 0x7074], 0
jmp case.0x4800d6.78
cmp byte [esi + 0xd431], 0
jne 0x4816cf
mov dword [esi + 0x7070], 0
mov dword [esi + 0x7074], 0
mov eax, dword [esi + 0xf630]
cmp eax, dword [esi + 0xf634]
je 0x4816c8
mov dword [esi + 0xf634], eax
mov byte [esi + 0xd431], 1
movzx eax, word [edi + 2]
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x20], ecx
xor ebp, ebp
mov dword [esp + 0x14], ebx
xor edx, edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x24], edx
mov ecx, eax
mov dword [esp + 0x1c], 1
test ax, ax
je 0x4818cc
lea esi, [ebx + 2]
movzx eax, cx
push eax
call fcn.004bcc60
movzx edx, word [edi + esi]
test al, al
je 0x481763
mov esi, dword [esp + 0x24]
mov eax, ebx
mov ecx, ebp
shld ecx, eax, 2
shl eax, 2
add ebx, eax
mov eax, edx
cdq
adc ebp, ecx
mov ecx, esi
shld ebp, ebx, 1
add ebx, ebx
add ebx, eax
adc ebp, edx
mov edx, dword [esp + 0x20]
sub ebx, 0x30
mov eax, edx
mov dword [esp + 0x14], ebx
sbb ebp, 0
shld ecx, eax, 2
mov dword [esp + 0x18], ebp
shl eax, 2
add edx, eax
adc esi, ecx
shld esi, edx, 1
add edx, edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], edx
jmp 0x481778
cmp edx, 0x2e
jne 0x481778
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
lea esi, [eax + eax]
movzx eax, word [edi + esi]
mov ecx, eax
test ax, ax
jne 0x481701
mov esi, dword [esp + 0x28]
mov eax, ebx
or eax, ebp
je 0x4818cc
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4817a6
sub ecx, edx
sar ecx, 1
movzx eax, word [edi + ecx*2 - 2]
add eax, 0xffffffbe
cmp eax, 0x2b
ja case.0x4817cd.67
movzx eax, byte [eax + 0x481ef8]
jmp dword [eax*4 + 0x481ed8]
test ebp, ebp
jl case.0x4817cd.66
jg case.0x4817cd.66
cmp ebx, 0x168
jb case.0x4817cd.66
test ebp, ebp
jg case.0x4817cd.66
jl 0x481804
cmp ebx, 0xb40
ja case.0x4817cd.66
cmp ebx, 0x4b0
jg 0x481846
je 0x48183a
cmp ebx, 0x168
je 0x48182e
cmp ebx, 0x2d0
jne case.0x4817cd.66
mov ebx, 0xb2400
xor ebp, ebp
jmp 0x4818a7
mov ebx, 0x58800
xor ebp, ebp
jmp 0x4818a7
mov ebx, 0x128600
xor ebp, ebp
jmp 0x4818a7
cmp ebx, 0x5a0
je 0x48185f
cmp ebx, 0xb40
jne case.0x4817cd.66
mov ebx, 0x2c7c00
xor ebp, ebp
jmp 0x4818a7
mov ebx, 0x163e00
xor ebp, ebp
jmp 0x4818a7
shld ebp, ebx, 0xa
shl ebx, 0xa
jmp 0x4818a7
shld ebp, ebx, 0x14
shl ebx, 0x14
jmp 0x4818a7
push 0
push 0xf4240
jmp 0x48189c
shld ebp, ebx, 0x1e
shl ebx, 0x1e
jmp 0x4818a7
push 0
push 0x3b9aca00
jmp 0x48189c
push 0
push 0x3e8
push ebp
push ebx
call fcn.0052f920
mov ebx, eax
mov ebp, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x20]
mov eax, ecx
mov edx, dword [esp + 0x24]
or eax, edx
je 0x4818db
push edx
push ecx
push ebp
push ebx
call fcn.0052f750
mov ebx, eax
mov ebp, edx
jmp 0x4818d3
mov ebx, SysReAllocString
mov ebp, ebx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ebx
mov eax, dword [esi + 0x7070]
or eax, dword [esi + 0x7074]
jne 0x4818fa
mov dword [esi + 0x7070], ebx
mov dword [esi + 0x7074], ebp
jmp case.0x4800d6.78
mov eax, dword [esi + 0xf634]
lea ecx, [esi + 0xf630]
cmp eax, dword [esi + 0xf638]
je 0x48191f
mov dword [eax], ebx
mov dword [eax + 4], ebp
add dword [esi + 0xf634], 8
jmp case.0x4800d6.78
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0047ee40
jmp case.0x4800d6.78
add esi, 0x10
lea eax, [edi + 2]
push 0x800
push eax
push esi
call fcn.004bd090
push 0x800
push esi
call fcn.004a0eb0
jmp case.0x4800d6.78
mov byte [esi + 0x707c], 1
jmp case.0x4800d6.78
add edi, 2
cmp word [edi], 0
je case.0x4800d6.78
push 0x800
push edi
add esi, 0x3016
push esi
call fcn.004bd090
jmp case.0x4800d6.78
cmp byte [esi + 0x707c], 0
jne case.0x4800d6.78
cmp dword [esi + 0x702c], 3
je case.0x4800d6.78
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4819a0
sub ecx, edx
sar ecx, 1
cmp ecx, 0x880
jb 0x4819bc
mov edi, str._unk_
push edi
push 0x372
call fcn.004b68d0
push eax
lea eax, [esp + 0x34]
push 0x880
push eax
call fcn.00404ce0
add esp, 0x10
push 0x10
push 0x66
call fcn.004b68d0
push eax
lea eax, [esp + 0x34]
push eax
push 0
call fcn.004fdf00
pop ebp
pop ebx
mov ecx, dword [esp + 0x1924]
pop edi
pop esi
xor ecx, esp
call fcn.0052f708
add esp, 0x1920
ret 4