Function at 0x480820
Capabilities:
Parse credit card information

Disassembly:
mov eax, 0x1920
call fcn.00530230
mov eax, dword [0x58cb30]
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.0040e3e0
test al, al
jne 0x4821c2
movzx eax, word [edi]
push ebx
push ebp
push eax
call fcn.004c1b20
add eax, 0xffffffc0
cmp eax, 0x1a
ja case.0x48086c.66
jmp dword [eax*4 + 0x4821dc]
xor eax, eax
cmp word [edi + 2], 0x2b
sete al
inc eax
mov dword [esi + 0xd42c], eax
jmp case.0x4808a6.78
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
add eax, 0xffffffbd
cmp eax, 0x13
ja case.0x4808a6.69
movzx eax, byte [eax + 0x482270]
jmp dword [eax*4 + 0x482248]
mov byte [esi + 0x705c], 1
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
test ax, ax
jne 0x4808d1
mov dword [esi + 0x83d0], 1
jmp case.0x4808a6.78
cmp eax, 0x31
jne 0x4808e5
mov dword [esi + 0x83d0], 2
jmp case.0x4808a6.78
cmp eax, 0x32
jne case.0x4808a6.78
mov dword [esi + 0x83d0], 3
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
lea ebx, [edi + 4]
add edi, 6
cmp eax, 0x2d
jne 0x48091e
cmp word [edi], 0
jne 0x48091e
mov byte [esi + 0x70b1], 0
jmp case.0x4808a6.78
push eax
call fcn.004c1b20
push 0x80
cmp eax, 0x46
jne 0x480940
push edi
add esi, 0x71b2
push esi
call fcn.004bdae0
jmp case.0x4808a6.78
mov byte [esi + 0x70b1], 1
add esi, 0x70b2
push ebx
push esi
call fcn.004bdae0
jmp case.0x4808a6.78
mov byte [esi + 0x72b6], 1
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
push eax
call fcn.004c1b20
sub eax, 0
je 0x4809bf
sub eax, 0x52
je 0x4809b0
sub eax, 1
je 0x4809bf
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4809a0
jmp 0x48217b
mov dword [esi + 0x7048], 2
jmp case.0x4808a6.78
mov dword [esi + 0x7048], 1
jmp case.0x4808a6.78
mov byte [esi + 0x705d], 1
jmp case.0x4808a6.78
push 0x800
lea eax, [edi + 4]
add esi, 0x4028
push eax
push esi
call fcn.004bdae0
jmp case.0x4808a6.78
mov byte [esi + 0x72b2], 1
jmp case.0x4808a6.78
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480a20
jmp 0x48217b
cmp word [edi + 4], 0
jne 0x480a6f
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
cmp eax, 0x2d
je 0x480a68
cmp eax, 0x4c
je 0x480a5c
cmp eax, 0x55
jne 0x480a6f
mov dword [esi + 0x7084], 1
jmp 0x480a6f
mov dword [esi + 0x7084], 2
jmp 0x480a6f
mov byte [esi + 0x705e], 1
push 0x567f6c
lea eax, [edi + 2]
push eax
call fcn.004c1ba0
test eax, eax
jne case.0x4808a6.78
mov byte [esi + 0x730a], 1
jmp case.0x4808a6.78
cmp word [edi + 4], 0
jne case.0x4808a6.78
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
add eax, 0xffffffba
cmp eax, 0x11
ja case.0x4808a6.78
movzx eax, byte [eax + 0x48229c]
jmp dword [eax*4 + 0x482284]
mov byte [esi + 0x707e], 1
jmp case.0x4808a6.78
mov byte [esi + 0x7099], 1
jmp case.0x4808a6.78
mov byte [esi + 0x709a], 1
jmp case.0x4808a6.78
mov byte [esi + 0x709a], 1
mov byte [esi + 0x709e], 1
jmp case.0x4808a6.78
mov byte [esi + 0x709a], 1
mov byte [esi + 0x709f], 1
jmp case.0x4808a6.78
movzx eax, word [edi + 2]
lea ebx, [edi + 2]
push eax
call fcn.004c1b20
cmp eax, 0x50
je 0x480b4e
cmp word [ebx], 0x2b
mov ecx, esi
jne 0x480b3d
lea eax, [esi + 9]
push eax
lea eax, [edi + 4]
push eax
call fcn.0047fd20
or dword [esi + 4], eax
mov byte [esi + 0xa], 1
jmp case.0x4808a6.78
lea eax, [esi + 8]
push eax
push ebx
call fcn.0047fd20
or dword [esi], eax
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
cmp eax, 0x34
ja case.0x4808a6.78
movzx eax, byte [eax + 0x4822c8]
jmp dword [eax*4 + 0x4822b0]
mov dword [esi + 0x7064], 1
jmp case.0x4808a6.78
mov dword [esi + 0x7064], 2
jmp case.0x4808a6.78
mov dword [esi + 0x7064], 3
jmp case.0x4808a6.78
mov dword [esi + 0x7064], 4
jmp case.0x4808a6.78
push 0x800
lea eax, [edi + 6]
add esi, 0x5028
push eax
push esi
call fcn.004bdae0
jmp case.0x4808a6.78
cmp word [edi + 2], 0
jne 0x480bd2
mov byte [esi + 0x705f], 1
jmp case.0x4808a6.78
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480bf1
jmp 0x48217b
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
cmp eax, 0x50
je 0x480cb1
cmp eax, 0x54
je 0x480c50
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
jmp 0x480c40
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480c40
jmp 0x48217b
movzx eax, word [edi + 4]
push eax
call fcn.004c1b20
sub eax, 0x42
je 0x480ca2
sub eax, 1
je 0x480c93
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480c83
jmp 0x48217b
mov dword [esi + 0x703c], 2
jmp case.0x4808a6.78
mov dword [esi + 0x703c], 3
jmp case.0x4808a6.78
lea ecx, [esi + 0x6028]
lea ebx, [edi + 4]
mov byte [ecx], 1
cmp word [ebx], 0
je 0x480d2e
mov ecx, ebx
lea edx, [ecx + 2]
jmp 0x480cd0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480cd0
sub ecx, edx
sar ecx, 1
cmp ecx, 0x200
jb 0x480cfb
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x1ff
push eax
push 0x63
call fcn.0047f830
push ebx
lea ecx, [esi + 0xf620]
call fcn.004baf20
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x480d10
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
push edi
call fcn.004baf90
jmp case.0x4808a6.78
cmp byte [esi + 0xf62c], 0
jne case.0x4808a6.78
lea eax, [esi + 0xd423]
add esi, 0xf620
push eax
push ecx
push esi
call fcn.004057f0
test al, al
jne case.0x4808a6.78
push 0xff
mov ecx, 0x5d381c
call fcn.00487c40
jmp case.0x4808a6.78
push 3
push 0x567f74
lea ebx, [edi + 2]
push ebx
call fcn.004c1bf0
test eax, eax
jne 0x480da3
add edi, 8
cmp word [edi], ax
jne 0x480d8c
mov edi, str.rar.log
push 0x800
push edi
add esi, 0x602c
push esi
call fcn.004bdae0
jmp case.0x4808a6.78
push 3
push 0x567f8c
push ebx
call fcn.004c1bf0
test eax, eax
jne 0x480dc8
cmp word [edi + 8], 0x2d
sete al
inc eax
mov dword [esi + 0x7030], eax
jmp case.0x4808a6.78
push 0x567f94
push ebx
call fcn.004c1ba0
test eax, eax
jne 0x480de6
mov dword [esi + 0x702c], 1
jmp case.0x4808a6.78
push 3
push 0x567f9c
push ebx
call fcn.004c1bf0
test eax, eax
jne 0x480e1b
add edi, 8
cmp word [edi], ax
jne 0x480e04
mov edi, 0x567fa4
push 0x800
push edi
add esi, 0x73cc
push esi
call fcn.004bdae0
jmp case.0x4808a6.78
push 0x567fa8
push ebx
call fcn.004c1ba0
test eax, eax
jne 0x480e36
mov byte [esi + 0x707d], 1
jmp case.0x4808a6.78
push 0x567fac
push ebx
call fcn.004c1ba0
test eax, eax
jne 0x480e54
mov dword [esi + 0x702c], 3
jmp case.0x4808a6.78
movzx eax, word [ebx]
push eax
call fcn.004c1b20
cmp eax, 0x44
jne 0x480edc
lea ebx, [eax - 0x42]
movzx eax, word [edi + 4]
mov ecx, eax
test ax, ax
je case.0x4808a6.78
movzx eax, cx
push eax
call fcn.004c1b20
add eax, 0xffffffbd
cmp eax, 0x13
ja case.0x480e8c.69
movzx eax, byte [eax + 0x48231c]
jmp dword [eax*4 + 0x482300]
mov dword [esi + 0x702c], 2
jmp case.0x480e8c.69
mov byte [esi + 0x704d], 1
jmp case.0x480e8c.69
mov byte [esi + 0x704e], 1
jmp case.0x480e8c.69
mov byte [esi + 0x704c], 1
jmp case.0x480e8c.69
mov byte [esi + 0x704f], 1
jmp case.0x480e8c.69
mov byte [esi + 0x707d], 1
movzx eax, word [edi + ebx*2 + 2]
inc ebx
mov ecx, eax
test ax, ax
jne 0x480e74
jmp case.0x4808a6.78
push 3
push 0x567fb4
push ebx
call fcn.004c1bf0
test eax, eax
jne 0x480f44
movzx eax, word [edi + 8]
cmp eax, 0x34
ja case.0x4808a6.78
movzx eax, byte [eax + 0x482344]
jmp dword [eax*4 + 0x482330]
mov dword [esi + 0x83d4], 1
jmp case.0x4808a6.78
mov dword [esi + 0x83d4], 2
jmp case.0x4808a6.78
mov dword [esi + 0x83d4], 3
jmp case.0x4808a6.78
mov dword [esi + 0x83d4], 4
jmp case.0x4808a6.78
push 0x567fbc
push ebx
call fcn.004c1ba0
test eax, eax
jne 0x480f5f
mov byte [esi + 0x7050], 1
jmp case.0x4808a6.78
push 0x567fc4
push ebx
call fcn.004c1ba0
test eax, eax
jne case.0x4808a6.78
mov byte [esi + 0x70b0], 1
jmp case.0x4808a6.78
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
test eax, eax
je 0x480fa1
cmp eax, 0x42
jne case.0x4808a6.78
mov byte [esi + 0x7098], 1
jmp case.0x4808a6.78
mov byte [esi + 0x7308], 1
jmp case.0x4808a6.78
push 2
push 0x567fcc
lea eax, [edi + 2]
push eax
call fcn.004c1bf0
test eax, eax
jne case.0x4808a6.78
lea eax, [edi + 6]
mov ecx, 0x5d380c
push eax
call fcn.00496330
test al, al
jne case.0x4808a6.78
cmp byte [esi + 0x707c], al
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481000
jmp 0x48217b
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
add eax, 0xffffffbf
cmp eax, 0x13
ja case.0x48102d.66
movzx eax, byte [eax + 0x48239c]
jmp dword [eax*4 + 0x48237c]
movzx eax, word [edi + 4]
test ax, ax
je 0x48104f
cmp eax, 0x35
je 0x48104f
xor al, al
mov byte [esi + 0x709c], al
jmp case.0x4808a6.78
mov al, 1
mov byte [esi + 0x709c], al
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
add edi, 4
cmp eax, 0x2d
jne 0x481086
add esi, 0x730c
mov eax, 0x10
mov dword [esi], 3
lea esi, [esi + 0xc]
sub eax, 1
jne 0x481073
jmp case.0x4808a6.78
test ax, ax
je case.0x4808a6.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.004bd6b0
test al, al
je 0x4810e1
push edi
call fcn.004c1a60
movzx ecx, word [edi]
push ecx
mov dword [esp + 0x28], eax
call fcn.004bd6b0
test al, al
je 0x4810e1
lea ecx, [ecx]
movzx eax, word [edi + 2]
add edi, 2
push eax
call fcn.004bd6b0
test al, al
jne 0x4810d0
cmp word [edi], 0x3a
jne 0x481127
lea eax, [edi + 2]
mov dword [esp + 0x1c], eax
movzx eax, word [eax]
push eax
call fcn.004bd6b0
test al, al
je 0x481127
mov edi, dword [esp + 0x1c]
push edi
call fcn.004c1a60
movzx ecx, word [edi]
push ecx
mov dword [esp + 0x24], eax
call fcn.004bd6b0
test al, al
je 0x481127
movzx eax, word [edi + 2]
add edi, 2
push eax
call fcn.004bd6b0
test al, al
jne 0x481116
movzx eax, word [edi]
add edi, 2
push eax
call fcn.004c1b20
add eax, 0xffffffbf
cmp eax, 0x13
ja case.0x481142.66
movzx eax, byte [eax + 0x4823cc]
jmp dword [eax*4 + 0x4823b0]
mov ebx, 7
jmp case.0x481142.66
mov ebx, ebp
jmp case.0x481142.66
xor ebx, ebx
jmp case.0x481142.66
mov ebx, 4
jmp case.0x481142.66
mov ebx, 5
jmp case.0x481142.66
mov ebx, 3
movzx eax, word [edi]
cmp eax, 0x2b
je 0x481178
cmp eax, 0x2d
jne 0x48118a
add edi, 2
mov ebp, 2
cmp eax, 0x2b
je 0x48118a
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 0x481091
jmp case.0x4808a6.78
lea ebx, [edi + 4]
push ebx
call fcn.004c1a60
mov dword [esi + 0xc], eax
test eax, eax
jne 0x4811e5
movzx eax, word [ebx]
push eax
call fcn.004c1b20
mov edx, 0x10000
lea ecx, [eax - 0x41]
shl edx, cl
jmp 0x481224
mov ecx, edi
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4811f0
sub ecx, edx
sar ecx, 1
movzx eax, word [edi + ecx*2 - 2]
push eax
call fcn.004c1b20
mov edx, dword [esi + 0xc]
sub eax, 0x47
je 0x481221
sub eax, 4
je 0x48121c
shl edx, 0x14
jmp 0x481224
shl edx, 0xa
jmp 0x481224
shl edx, 0x1e
xor edi, edi
mov dword [esi + 0xc], edx
cmp edx, 0x40000000
ja 0x481251
mov eax, 0x10000
xor ecx, ecx
cmp edx, eax
jne 0x481240
cmp edi, ecx
je 0x481268
shld ecx, eax, 1
add eax, eax
cmp ecx, 1
jb 0x481238
ja 0x481251
test eax, eax
je 0x481238
mov eax, 0x400000
mov dword [esi + 0xc], 0x400000
mov dword [esi + 0x93f4], eax
jmp case.0x4808a6.78
mov eax, dword [esi + 0xc]
mov dword [esi + 0x93f4], eax
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
push eax
call fcn.004c1b20
cmp eax, 0x5a
jne 0x48129b
movzx eax, word [edi + 6]
push eax
call fcn.004c1b20
cmp eax, 0x4c
jne 0x48129b
mov byte [esi + 0xd423], 1
movzx eax, word [edi + 4]
push eax
call fcn.004c1b20
cmp eax, 0x53
jne case.0x4808a6.78
cmp word [edi + 6], 0
jne case.0x4808a6.78
mov byte [esi + 0x6029], 1
jmp case.0x4808a6.78
add edi, 4
cmp word [edi], 0
jne 0x4812d3
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.004bdae0
cmp word [esp + 0x112c], 0
lea edi, [esp + 0x112c]
je case.0x4808a6.78
lea ebx, [esi + 0xf5c4]
push 0x3b
push edi
call fcn.005317e5
mov esi, eax
add esp, 8
test esi, esi
je 0x481318
xor eax, eax
mov word [esi], ax
cmp word [edi], 0x2e
jne 0x481321
add edi, 2
push 0x568094
push edi
call fcn.0053d1de
add esp, 8
test eax, eax
lea eax, [esp + 0x2c]
jne 0x48134d
push edi
push str.._ls
push 0x800
push eax
call fcn.00404ce0
add esp, 0x10
jmp 0x481359
push 0x800
push edi
push eax
call fcn.004bdae0
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.004bdbd0
test esi, esi
je case.0x4808a6.78
cmp word [esi + 2], 0
lea edi, [esi + 2]
jne 0x481302
jmp case.0x4808a6.78
lea eax, [edi + 4]
push eax
call fcn.004c1a60
mov dword [esi + 0x93e8], eax
dec eax
cmp eax, 0x3f
ja 0x48139d
mov byte [esi + 0x93ec], 1
jmp case.0x4808a6.78
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4813c0
jmp 0x48217b
movzx eax, word [edi + 2]
sub eax, 0x30
mov dword [esi + 0x7038], eax
cmp eax, 5
jg 0x4813ea
test eax, eax
jns case.0x4808a6.78
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481410
jmp 0x48217b
cmp word [edi + 2], 0
lea ebx, [edi + 2]
je case.0x4808a6.78
movzx eax, word [edi]
push eax
call fcn.004c1b20
sub eax, 0x4e
lea ebp, [esi + 0xf50c]
neg eax
sbb eax, eax
and eax, 0xffffffa4
add ebp, eax
cmp word [ebx], 0x40
jne 0x481478
push edi
call fcn.004a2f60
test al, al
jne 0x481478
push 1
push 1
push 1
push dword [esi + 0x401c]
lea eax, [edi + 4]
push 1
push 0
push ebp
push eax
call fcn.004929b0
jmp case.0x4808a6.78
push ebx
mov ecx, ebp
call fcn.004bdbd0
jmp case.0x4808a6.78
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
cmp eax, 0x57
ja case.0x48149f.1
movzx eax, byte [eax + 0x482414]
jmp dword [eax*4 + 0x4823e0]
mov dword [esi + 0x7034], 1
jmp case.0x4808a6.78
mov dword [esi + 0x7034], 2
jmp case.0x4808a6.78
mov dword [esi + 0x7034], 4
jmp case.0x4808a6.78
mov byte [esi + 0x72b5], 1
jmp case.0x4808a6.78
mov byte [esi + 0x708a], 1
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
add edi, 4
add eax, 0xffffffd3
cmp eax, 5
ja case.0x4814fa.46
jmp dword [eax*4 + 0x48246c]
mov dword [esi + 0x70a4], 0
jmp 0x481523
mov dword [esi + 0x70a4], 2
jmp 0x481523
mov dword [esi + 0x70a4], 1
push 0x3a
push edi
call fcn.005317e5
add esp, 8
test eax, eax
je case.0x4808a6.78
add eax, 2
push eax
call fcn.004c19d0
mov dword [esi + 0x70a8], eax
mov dword [esi + 0x70ac], edx
jmp case.0x4808a6.78
mov byte [esi + 0x7089], 1
movzx eax, word [edi + 4]
push eax
call fcn.004c1b20
cmp eax, 0x41
jne case.0x4808a6.78
mov byte [esi + 0x708b], 1
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
push eax
call fcn.004c1b20
cmp eax, 0x49
jne case.0x4808a6.78
mov byte [esi + 0x709b], 1
jmp case.0x4808a6.78
add esi, 0x2016
lea eax, [edi + 4]
jmp 0x482105
mov dword [esi + 0x7034], 3
jmp case.0x4808a6.78
mov byte [esi + 0x72b4], 1
jmp case.0x4808a6.78
mov byte [esi + 0x7088], 1
jmp case.0x4808a6.78
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4815f0
jmp 0x48217b
cmp word [edi + 2], 0
lea ebx, [edi + 2]
jne 0x481640
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.0x4808a6.78
push 0xff
mov ecx, 0x5d381c
call fcn.00487c40
jmp case.0x4808a6.78
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481645
sub ecx, edx
sar ecx, 1
cmp ecx, 0x200
jb 0x481670
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0x1ff
push eax
push 0x63
call fcn.0047f830
push ebx
lea ecx, [esi + 0xf620]
call fcn.004baf20
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481681
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
push edi
call fcn.004baf90
jmp case.0x4808a6.78
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
cmp eax, 0x4f
jne 0x481723
movzx eax, word [edi + 4]
push eax
call fcn.004c1b20
sub eax, 0
je 0x481714
sub eax, 0x2b
je 0x481705
sub eax, 2
je 0x4816f6
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4816e6
jmp 0x48217b
mov dword [esi + 0x2010], 0
jmp case.0x4808a6.78
mov dword [esi + 0x2010], 2
jmp case.0x4808a6.78
mov dword [esi + 0x2010], 1
jmp case.0x4808a6.78
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481742
jmp 0x48217b
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
cmp eax, 0x56
ja case.0x4808a6.78
movzx eax, byte [eax + 0x4824a0]
jmp dword [eax*4 + 0x482484]
mov dword [esi + 0x7068], 2
jmp case.0x4808a6.78
mov dword [esi + 0x7068], 1
jmp case.0x4808a6.78
mov dword [esi + 0x7068], 3
jmp case.0x4808a6.78
push 0xfffffffffffffffd
lea eax, [edi + 4]
mov ecx, esi
push eax
push edi
call fcn.0047fdd0
mov dword [esi + 0x7040], eax
jmp case.0x4808a6.78
push 0xfffffffffffffff6
lea eax, [edi + 4]
mov ecx, esi
push eax
push edi
call fcn.0047fdd0
mov dword [esi + 0x7044], eax
jmp case.0x4808a6.78
lea ebx, [edi + 4]
push ebx
call fcn.004c1a60
mov dword [esi + 0x7090], eax
test eax, eax
js 0x4817ee
cmp eax, 0xf
jle 0x481860
cmp byte [esi + 0x707c], 0
mov edx, edi
jne 0x481860
cmp dword [esi + 0x702c], 3
je 0x481860
mov ecx, edi
lea ebp, [ecx + 2]
jmp 0x481810
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481810
sub ecx, ebp
sar ecx, 1
cmp ecx, 0x880
jb 0x48182c
mov edx, str._unk_
push edx
push 0x372
call fcn.004b7300
push eax
lea eax, [esp + 0x34]
push 0x880
push eax
call fcn.00404ce0
add esp, 0x10
push 0x10
push 0x66
call fcn.004b7300
push eax
lea eax, [esp + 0x34]
push eax
push 0
call fcn.004feae0
push 0x3a
push ebx
call fcn.005317e5
add esp, 8
test eax, eax
je 0x48190b
add eax, 2
push eax
call fcn.004c1a60
mov dword [esi + 0x7094], eax
cmp eax, 0x3e8
jle 0x481900
cmp byte [esi + 0x707c], 0
jne 0x481900
cmp dword [esi + 0x702c], 3
je 0x481900
mov ecx, edi
lea edx, [ecx + 2]
jmp 0x4818b0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4818b0
sub ecx, edx
sar ecx, 1
cmp ecx, 0x880
jb 0x4818cc
mov edi, str._unk_
push edi
push 0x372
call fcn.004b7300
push eax
lea eax, [esp + 0x34]
push 0x880
push eax
call fcn.00404ce0
add esp, 0x10
push 0x10
push 0x66
call fcn.004b7300
push eax
lea eax, [esp + 0x34]
push eax
push 0
call fcn.004feae0
push dword [esi + 0x7094]
call fcn.004be470
push dword [esi + 0x7090]
call fcn.004be5f0
jmp case.0x4808a6.78
push 3
push 0x5680a8
push edi
call fcn.004c1bf0
test eax, eax
jne 0x481978
cmp word [edi + 6], ax
lea ebx, [edi + 6]
jne 0x48193a
mov ebx, str.default.sfx
push ebx
call fcn.004a3770
cmp eax, ebx
jne 0x481966
push ebx
call fcn.00491350
test al, al
jne 0x481966
push 0
push 1
push 0x800
lea eax, [esi + 0x1010]
push eax
push ebx
call fcn.004a2690
jmp 0x481978
push 0x800
push ebx
lea eax, [esi + 0x1010]
push eax
call fcn.004bdae0
movzx eax, word [edi + 2]
lea ebx, [edi + 2]
push eax
call fcn.004bd6b0
test al, al
je 0x4819a1
or dword [esi + 0x7054], 2
push ebx
call fcn.004c1a60
mov dword [esi + 0x7058], eax
jmp case.0x4808a6.78
movzx eax, word [ebx]
push eax
call fcn.004c1b20
cmp eax, 0x56
ja case.0x4808a6.78
movzx eax, byte [eax + 0x48251c]
jmp dword [eax*4 + 0x4824f8]
or dword [esi + 0x7054], 1
jmp case.0x4808a6.78
mov dword [esi + 0x7054], 0
jmp case.0x4808a6.78
or dword [esi + 0x7054], 4
jmp case.0x4808a6.78
xor eax, eax
cmp word [edi + 4], 0x2d
setne al
lea eax, [eax*8 + 8]
or dword [esi + 0x7054], eax
jmp case.0x4808a6.78
or dword [esi + 0x7054], 8
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
add edi, 4
push eax
call fcn.004bd6b0
test al, al
je case.0x4808a6.78
push edi
call fcn.004c19d0
mov dword [esi + 0x72f8], eax
mov dword [esi + 0x72fc], edx
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
add edi, 4
push eax
call fcn.004bd6b0
test al, al
je case.0x4808a6.78
push edi
call fcn.004c19d0
mov dword [esi + 0x7300], eax
mov dword [esi + 0x7304], edx
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
push eax
mov byte [esp + 0x17], 0
call fcn.004c1b20
add eax, 0xffffffbf
cmp eax, 0x14
ja case.0x481a8a.66
movzx eax, byte [eax + 0x482588]
jmp dword [eax*4 + 0x482574]
mov ebx, 1
jmp 0x481aab
mov ebx, 2
jmp 0x481aab
mov ebx, 3
jmp 0x481aab
mov ebx, 4
cmp word [edi + 6], 0
lea ebp, [edi + 6]
jne 0x481ad2
mov dword [esi + 0x4024], ebx
mov dword [esi + 0x4020], ebx
mov dword [esi + 0x401c], ebx
mov dword [esi + 0x4018], ebx
jmp case.0x4808a6.78
mov al, byte [esp + 0x13]
test al, al
jne case.0x4808a6.78
movzx eax, word [ebp]
push eax
call fcn.004c1b20
add eax, 0xffffffbd
cmp eax, 0xf
ja case.0x481af7.68
movzx eax, byte [eax + 0x4825b4]
jmp dword [eax*4 + 0x4825a0]
mov al, byte [esp + 0x13]
mov dword [esi + 0x4018], ebx
jmp 0x481bb8
mov al, byte [esp + 0x13]
mov dword [esi + 0x401c], ebx
jmp 0x481bb8
mov al, byte [esp + 0x13]
mov dword [esi + 0x4020], ebx
jmp 0x481bb8
mov al, byte [esp + 0x13]
mov dword [esi + 0x4024], ebx
jmp 0x481bb8
cmp byte [esi + 0x707c], 0
mov edx, edi
jne 0x481bb2
cmp dword [esi + 0x702c], 3
je 0x481bb2
mov ecx, edi
lea eax, [ecx + 2]
mov dword [esp + 0x1c], eax
jmp 0x481b60
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481b60
sub ecx, dword [esp + 0x1c]
sar ecx, 1
cmp ecx, 0x880
jb 0x481b7e
mov edx, str._unk_
push edx
push 0x372
call fcn.004b7300
push eax
lea eax, [esp + 0x34]
push 0x880
push eax
call fcn.00404ce0
add esp, 0x10
push 0x10
push 0x66
call fcn.004b7300
push eax
lea eax, [esp + 0x34]
push eax
push 0
call fcn.004feae0
mov al, 1
mov byte [esp + 0x13], al
add ebp, 2
cmp word [ebp], 0
jne 0x481ad6
jmp case.0x4808a6.78
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481bf0
jmp 0x48217b
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
cmp eax, 0x56
ja case.0x481c1a.1
movzx eax, byte [eax + 0x4825f0]
jmp dword [eax*4 + 0x4825c4]
mov dword [esi + 0x7080], 1
jmp case.0x4808a6.78
mov dword [esi + 0x7080], 2
jmp case.0x4808a6.78
push 1
push 1
lea eax, [edi + 4]
mov ecx, esi
push eax
call fcn.00482a50
jmp case.0x4808a6.78
push 1
push 0
lea eax, [edi + 4]
mov ecx, esi
push eax
call fcn.00482a50
jmp case.0x4808a6.78
push 0
push 1
lea eax, [edi + 4]
mov ecx, esi
push eax
call fcn.00482a50
jmp case.0x4808a6.78
push 0
push 0
lea eax, [edi + 4]
mov ecx, esi
push eax
call fcn.00482a50
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
lea ebx, [edi + 4]
test ax, ax
je 0x481cb4
push eax
call fcn.004bd6b0
test al, al
jne 0x481cb4
movzx eax, word [ebx]
cmp eax, 0x2d
je 0x481cb4
mov ecx, eax
cmp eax, 0x2b
jne 0x481ce5
movzx eax, word [ebx]
xor ecx, ecx
cmp eax, 0x2d
sete cl
dec ecx
and ecx, 2
cmp eax, 0x31
jne 0x481ccd
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.0x4808a6.78
mov edi, edi
movzx eax, word [ebx + 2]
mov edi, 2
cmp eax, 0x2d
jne 0x481d02
xor edi, edi
jmp 0x481d0a
cmp eax, 0x31
jne 0x481d0a
lea edi, [eax - 0x30]
movzx eax, word [ebx]
push eax
call fcn.004c1b20
add eax, 0xffffffbf
cmp eax, 0xf
ja case.0x481d22.66
movzx eax, byte [eax + 0x48265c]
jmp dword [eax*4 + 0x482648]
mov dword [esi + 0x83d8], edi
jmp case.0x481d22.66
mov dword [esi + 0x83dc], edi
jmp case.0x481d22.66
mov dword [esi + 0x83e0], edi
jmp case.0x481d22.66
mov byte [esi + 0x83e4], 1
add ebx, 2
cmp word [ebx], 0
jne 0x481cf0
jmp case.0x4808a6.78
mov byte [esi + 0x7309], 0
jmp case.0x4808a6.78
mov byte [esi + 0x7309], 1
jmp case.0x4808a6.78
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481d90
jmp 0x48217b
cmp word [edi + 2], 0
jne 0x481db3
mov byte [esi + 0x7060], 1
jmp case.0x4808a6.78
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481dd2
jmp 0x48217b
movzx eax, word [edi + 2]
push eax
call fcn.004c1b20
add eax, 0xffffffd3
cmp eax, 0x23
ja case.0x481dfb.46
movzx eax, byte [eax + 0x482684]
jmp dword [eax*4 + 0x48266c]
mov byte [esi + 0x709d], 1
jmp case.0x4808a6.78
mov byte [esi + 0x70a0], 1
jmp case.0x4808a6.78
mov byte [esi + 0x730b], 1
jmp case.0x4808a6.78
movzx eax, word [edi + 4]
push eax
call fcn.004c1b20
cmp eax, 0x52
jne case.0x4808a6.78
lea eax, [edi + 6]
push eax
call fcn.004c1a60
inc eax
mov dword [esi + 0x83cc], eax
jmp case.0x4808a6.78
mov dword [esi + 0x7070], 0
mov dword [esi + 0x7074], 0
jmp case.0x4808a6.78
cmp byte [esi + 0xd431], 0
jne 0x481e9f
mov dword [esi + 0x7070], 0
mov dword [esi + 0x7074], 0
mov eax, dword [esi + 0xf630]
cmp eax, dword [esi + 0xf634]
je 0x481e98
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 0x48209c
lea esi, [ebx + 2]
movzx eax, cx
push eax
call fcn.004bd6b0
movzx edx, word [edi + esi]
test al, al
je 0x481f33
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 0x481f48
cmp edx, 0x2e
jne 0x481f48
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 0x481ed1
mov esi, dword [esp + 0x28]
mov eax, ebx
or eax, ebp
je 0x48209c
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x481f76
sub ecx, edx
sar ecx, 1
movzx eax, word [edi + ecx*2 - 2]
add eax, 0xffffffbe
cmp eax, 0x2b
ja case.0x481f9d.67
movzx eax, byte [eax + 0x4826c8]
jmp dword [eax*4 + 0x4826a8]
test ebp, ebp
jl case.0x481f9d.66
jg case.0x481f9d.66
cmp ebx, 0x168
jb case.0x481f9d.66
test ebp, ebp
jg case.0x481f9d.66
jl 0x481fd4
cmp ebx, 0xb40
ja case.0x481f9d.66
cmp ebx, 0x4b0
jg 0x482016
je 0x48200a
cmp ebx, 0x168
je 0x481ffe
cmp ebx, 0x2d0
jne case.0x481f9d.66
mov ebx, 0xb2400
xor ebp, ebp
jmp 0x482077
mov ebx, 0x58800
xor ebp, ebp
jmp 0x482077
mov ebx, 0x128600
xor ebp, ebp
jmp 0x482077
cmp ebx, 0x5a0
je 0x48202f
cmp ebx, 0xb40
jne case.0x481f9d.66
mov ebx, 0x2c7c00
xor ebp, ebp
jmp 0x482077
mov ebx, 0x163e00
xor ebp, ebp
jmp 0x482077
shld ebp, ebx, 0xa
shl ebx, 0xa
jmp 0x482077
shld ebp, ebx, 0x14
shl ebx, 0x14
jmp 0x482077
push 0
push 0xf4240
jmp 0x48206c
shld ebp, ebx, 0x1e
shl ebx, 0x1e
jmp 0x482077
push 0
push 0x3b9aca00
jmp 0x48206c
push 0
push 0x3e8
push ebp
push ebx
call fcn.00530430
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 0x4820ab
push edx
push ecx
push ebp
push ebx
call fcn.00530260
mov ebx, eax
mov ebp, edx
jmp 0x4820a3
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 0x4820ca
mov dword [esi + 0x7070], ebx
mov dword [esi + 0x7074], ebp
jmp case.0x4808a6.78
mov eax, dword [esi + 0xf634]
lea ecx, [esi + 0xf630]
cmp eax, dword [esi + 0xf638]
je 0x4820ef
mov dword [eax], ebx
mov dword [eax + 4], ebp
add dword [esi + 0xf634], 8
jmp case.0x4808a6.78
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0047f610
jmp case.0x4808a6.78
add esi, 0x10
lea eax, [edi + 2]
push 0x800
push eax
push esi
call fcn.004bdae0
push 0x800
push esi
call fcn.004a1860
jmp case.0x4808a6.78
mov byte [esi + 0x707c], 1
jmp case.0x4808a6.78
add edi, 2
cmp word [edi], 0
je case.0x4808a6.78
push 0x800
push edi
add esi, 0x3016
push esi
call fcn.004bdae0
jmp case.0x4808a6.78
cmp byte [esi + 0x707c], 0
jne case.0x4808a6.78
cmp dword [esi + 0x702c], 3
je case.0x4808a6.78
mov ecx, edi
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x482170
sub ecx, edx
sar ecx, 1
cmp ecx, 0x880
jb 0x48218c
mov edi, str._unk_
push edi
push 0x372
call fcn.004b7300
push eax
lea eax, [esp + 0x34]
push 0x880
push eax
call fcn.00404ce0
add esp, 0x10
push 0x10
push 0x66
call fcn.004b7300
push eax
lea eax, [esp + 0x34]
push eax
push 0
call fcn.004feae0
pop ebp
pop ebx
mov ecx, dword [esp + 0x1924]
pop edi
pop esi
xor ecx, esp
call fcn.00530218
add esp, 0x1920
ret 4