Function at 0x433880
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
push edi
push 0x4ea320
call fcn.00467178
mov ecx, dword [esp + 0x38]
add esp, 4
test ecx, ecx
jge 0x4338b7
mov ebp, ecx
mov esi, 0x54b6e0
neg ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x34], 0
jmp 0x4338d5
mov eax, ecx
xor ebp, ebp
shl eax, 5
sub eax, ecx
mov dword [esp + 0x1c], ebp
lea eax, [eax + eax*2]
lea ecx, [ecx + eax*4]
lea esi, [ecx*4 + 0x54b6e0]
mov dword [esp + 0x14], esi
mov eax, dword [0x58bb9c]
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 4
mov dword [0x49e284], eax
mov eax, dword [0x58bb98]
cdq
and edx, 7
add eax, edx
mov edi, eax
mov eax, dword [0x549e40]
sar edi, 3
add edi, 4
cmp eax, 1
mov dword [0x49e288], edi
je 0x433992
test ebp, ebp
jne 0x433992
cmp eax, 2
jne 0x433947
mov eax, dword [0x574b88]
test eax, eax
jne 0x43393f
mov eax, dword [0x57e758]
mov ecx, dword [esi + 0x56c]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x433992
mov ebx, 0x51fd00
jmp 0x433997
mov eax, dword [0x57e7e0]
cdq
jmp 0x433961
mov eax, dword [0x57e758]
mov ecx, dword [esi + 0x56c]
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
mov eax, dword [0x57e7e0]
cdq
jge 0x433976
mov ecx, dword [esi + 0x568]
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x433992
mov ebx, 0x51ebc0
jmp 0x433997
mov ecx, dword [esi + 0x568]
sub eax, edx
sar eax, 1
cmp ecx, eax
jge 0x43398b
mov ebx, 0x51fd00
jmp 0x433997
mov ebx, 0x51fd40
jmp 0x433997
mov ebx, 0x51eb80
mov al, byte [0x484740]
mov dword [0x49e28c], ebx
cmp al, 0xff
jne 0x4339d6
xor ecx, ecx
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, 0x3b
jle 0x4339c7
cmp edx, 0x44
jge 0x4339c7
mov edx, 0x40
mov byte [ecx + 0x484740], dl
inc ecx
cmp ecx, 0x27b
jl 0x4339a8
xor edx, edx
cmp ebp, edx
je 0x433bd9
cmp edi, edx
mov dword [esp + 0x10], edx
jl 0x433a32
mov eax, dword [0x49e284]
xor esi, esi
test eax, eax
jl 0x433a1b
mov ecx, dword [esp + 0x10]
shl ecx, 7
xor eax, eax
mov al, byte [ebx + ecx]
add eax, 0x40
cdq
sub eax, edx
sar eax, 1
mov byte [ebx + ecx], al
mov eax, dword [0x49e284]
mov ebx, dword [0x49e28c]
inc esi
inc ecx
cmp esi, eax
jle 0x4339fa
mov eax, dword [esp + 0x10]
mov ecx, dword [0x49e288]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jle 0x4339e8
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jle 0x433f21
mov ecx, dword [esp + 0x1c]
mov ebp, 0x57fbe4
mov dword [esp + 0x28], ecx
xor esi, esi
mov al, byte [ebp + 0x10]
test al, al
je 0x433a99
movsx edx, al
mov eax, dword [ebp]
push 0x6e
add eax, 0x40000
push edx
cdq
and edx, 0x7ffff
add eax, edx
sar eax, 0x13
add eax, 2
push eax
mov eax, dword [ebp - 4]
add eax, 0x40000
cdq
and edx, 0x7ffff
add eax, edx
sar eax, 0x13
add eax, 2
push eax
call fcn.00432a70
mov ebx, dword [0x49e28c]
add esp, 0x10
jmp 0x433bc2
mov eax, dword [0x49e288]
mov dword [esp + 0x10], esi
cmp eax, esi
jl 0x433bc2
mov dword [esp + 0x24], esi
jmp 0x433ab2
xor esi, esi
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp]
add eax, 0xfff00000
sub eax, ecx
cdq
and edx, 0x7fff
add eax, edx
mov ecx, eax
sar ecx, 0xf
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xff
jge 0x433ae9
mov ecx, dword [ecx*4 + 0x486f2c]
mov dword [esp + 0x20], ecx
jmp 0x433af1
mov dword [esp + 0x20], 0x10000
mov eax, dword [0x49e284]
mov dword [esp + 0x18], esi
cmp eax, esi
jl 0x433b9b
mov esi, dword [esp + 0x10]
shl esi, 7
xor edi, edi
mov edx, dword [ebp - 4]
lea eax, [edi - 0x100000]
sub eax, edx
xor ecx, ecx
cdq
mov cl, byte [ebx + esi]
and edx, 0x1ffff
add eax, edx
sar eax, 0x11
cmp eax, 0xffffffc0
jle 0x433b6a
cmp eax, 0x40
jge 0x433b6a
mov edx, dword [eax*4 + 0x486f2c]
mov eax, dword [esp + 0x20]
add edx, eax
shr edx, 6
cmp edx, 0x32
jge 0x433b6a
mov eax, 0x32
sub eax, edx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
cmp ecx, 0x40
jge 0x433b60
mov ecx, 0x40
jmp 0x433b6a
cmp ecx, 0x52
jle 0x433b6a
mov ecx, 0x52
cmp ecx, 0x7f
jle 0x433b74
mov ecx, 0x7f
mov eax, dword [esp + 0x18]
mov byte [ebx + esi], cl
mov ecx, dword [0x49e284]
mov ebx, dword [0x49e28c]
inc eax
add edi, 0x80000
inc esi
cmp eax, ecx
mov dword [esp + 0x18], eax
jle 0x433b0b
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov ecx, dword [0x49e288]
inc eax
add edx, 0x80000
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], edx
jle 0x433ab0
xor esi, esi
mov eax, dword [esp + 0x28]
add ebp, 0x20
dec eax
mov dword [esp + 0x28], eax
jne 0x433a49
jmp 0x433f21
mov eax, dword [esi + 0x538]
cmp eax, edx
mov eax, dword [esi + 0x53c]
je 0x433c07
mov ecx, dword [esi + 0x540]
cmp eax, ecx
jle 0x433bfc
dec eax
mov dword [esi + 0x53c], eax
jmp 0x433c23
jge 0x433c2f
inc eax
mov dword [esi + 0x53c], eax
jmp 0x433c23
cmp eax, 0x40
jge 0x433c17
add eax, 2
mov dword [esi + 0x53c], eax
jmp 0x433c23
jle 0x433c2f
mov dword [esi + 0x53c], 0x40
mov edi, dword [0x49e288]
mov ebx, dword [0x49e28c]
cmp edi, edx
mov dword [esp + 0x10], edx
jl 0x433c94
mov eax, dword [0x49e284]
xor esi, esi
test eax, eax
jl 0x433c86
mov edi, dword [esp + 0x14]
shl edx, 7
mov ecx, dword [edi + 0x53c]
xor eax, eax
mov al, byte [ebx + edx]
lea ebp, [ecx - 4]
cmp eax, ebp
jge 0x433c60
add eax, 4
jmp 0x433c6e
lea ebp, [ecx + 6]
cmp eax, ebp
jle 0x433c6c
sub eax, 6
jmp 0x433c6e
mov eax, ecx
mov byte [ebx + edx], al
mov eax, dword [0x49e284]
mov ebx, dword [0x49e28c]
inc esi
inc edx
cmp esi, eax
jle 0x433c49
mov edx, dword [esp + 0x10]
mov eax, dword [0x49e288]
inc edx
cmp edx, eax
mov dword [esp + 0x10], edx
jle 0x433c37
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], 0x521fff
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 0x3f]
test eax, eax
je case.default.0x433d55
mov eax, edx
mov cl, byte [eax - 4]
test cl, cl
jne 0x433cc7
mov cl, byte [eax - 5]
test cl, cl
je case.default.0x433d55
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [ebp - 0x33]
mov ecx, dword [esi + 0x51c]
mov eax, edi
mov ebp, dword [ebp - 0x2f]
sub eax, ecx
add eax, 0x100000
cdq
and edx, 0xffff
add eax, edx
mov edx, dword [esi + 0x520]
mov ecx, eax
mov eax, ebp
sub eax, edx
add eax, 0x100000
cdq
and edx, 0xffff
add eax, edx
mov esi, eax
mov eax, dword [esp + 0x10]
sar ecx, 0x10
mov dl, byte [eax - 5]
sar esi, 0x10
test dl, dl
je 0x433d42
lea eax, [esi + 4]
push 0x50
cdq
and edx, 7
push 4
add eax, edx
sar eax, 3
push eax
lea eax, [ecx + 4]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
call fcn.00432a70
jmp 0x433e2d
mov edx, dword [esp + 0x10]
xor eax, eax
mov al, byte [edx - 4]
dec eax
cmp eax, 6
ja case.default.0x433d55
jmp dword [eax*4 + 0x4345e0]
mov ecx, dword [esp + 0x34]
push 8
push ebp
push edi
push ecx
call fcn.004333d0
jmp 0x433e2d
mov edx, dword [esp + 0x34]
push 0x10
push ebp
push edi
push edx
call fcn.004333d0
jmp 0x433e2d
mov eax, dword [esp + 0x10]
movsx eax, byte [eax]
lea edx, [eax + 0x10]
push edx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
call fcn.00432ce0
jmp 0x433e2d
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x53c]
mov eax, esi
push edx
push 0x20
cdq
and edx, 7
push 0xc
add eax, edx
sar eax, 3
push eax
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
call fcn.00432f70
add esp, 0x14
jmp 0x433e30
mov eax, dword [esp + 0x10]
movsx eax, byte [eax]
lea edx, [eax + eax + 0x40]
push edx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
call fcn.00432a70
jmp 0x433e2d
inc dword [esp + 0x20]
jmp case.default.0x433d55
cmp byte [edx], 0
je case.default.0x433d55
mov eax, dword [esp + 0x34]
push 0x40
push ebp
push edi
push eax
call fcn.004336f0
add esp, 0x10
mov ebx, dword [0x49e28c]
mov eax, dword [esp + 0x10]
add eax, 0x80
cmp eax, 0x531fff
mov dword [esp + 0x10], eax
jl 0x433ca4
mov ebp, 0x521fd0
cmp dword [ebp - 0x10], 0x416ec0
jne 0x433f0f
mov esi, dword [esp + 0x14]
mov eax, dword [ebp - 4]
sub eax, dword [esi + 0x51c]
add eax, 0x100000
cdq
and edx, 0xffff
add eax, edx
mov edx, dword [esi + 0x520]
mov ecx, eax
mov eax, dword [ebp]
sub eax, edx
add eax, 0x100000
cdq
and edx, 0xffff
add eax, edx
mov dl, byte [ebp + 0x35]
mov edi, eax
movsx eax, byte [ebp + 0x2f]
sar ecx, 0x10
sar edi, 0x10
test dl, dl
jge 0x433eb3
xor esi, esi
add edi, 4
add ecx, 4
jmp 0x433ec6
lea esi, [ecx + 4]
mov ecx, dword [0x49e284]
add edi, 4
lea ecx, [ecx*8 + 0x10]
mov edx, dword [0x49e288]
sar edi, 3
sar esi, 3
sar ecx, 3
cmp edi, edx
ja 0x433f02
shl edi, 7
add edi, esi
sub ecx, esi
add edi, ebx
mov bl, al
mov bh, bl
mov edx, ecx
mov eax, ebx
shl eax, 0x10
mov ax, bx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ebx, dword [0x49e28c]
mov eax, dword [esp + 0x20]
dec eax
test eax, eax
mov dword [esp + 0x20], eax
jle 0x433f21
add ebp, 0x80
cmp ebp, 0x531fd0
jl 0x433e53
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x434262
mov dword [esp + 0x28], 0
mov dword [esp + 0x1c], 0x54b6f4
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x5ac]
test ecx, ecx
je 0x43417b
mov edx, eax
mov ecx, dword [edx + 0x4dc]
test ecx, ecx
je 0x43400e
mov eax, dword [edx]
test eax, eax
jg 0x433f67
neg eax
mov edx, dword [edx + 4]
test edx, edx
jg 0x433f70
neg edx
add eax, edx
cdq
and edx, 0xffff
add eax, edx
sar eax, 0x10
mov dword [esp + 0x2c], eax
jne 0x433f86
xor ecx, ecx
mov esi, dword [0x520f20]
sub esi, ecx
sub esi, 2
and esi, 0x3f
test ecx, ecx
jle 0x43400e
mov edx, dword [esp + 0x28]
lea ebp, [ecx + 1]
mov dword [esp + 0x24], 0
lea eax, [esi + edx]
shl eax, 2
shr ebp, 1
lea ebx, [eax + 0x545000]
lea edi, [eax + 0x547020]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
jle 0x433fc9
mov eax, ecx
mov ecx, dword [ebx]
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [edi]
push eax
push ecx
push edx
call fcn.004333d0
add esi, 2
add esp, 0x10
add edi, 8
add ebx, 8
cmp esi, 0x3f
jle 0x433ffa
sub esi, 0x40
sub edi, 0x100
sub ebx, 0x100
mov ecx, dword [esp + 0x24]
add ecx, 4
dec ebp
mov dword [esp + 0x24], ecx
jne 0x433fbb
mov ebx, dword [0x49e28c]
mov eax, dword [0x49e288]
xor esi, esi
test eax, eax
mov dword [esp + 0x10], esi
jl 0x43417b
xor eax, eax
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x14]
add eax, 0xfff00000
mov edx, dword [ecx + 0x520]
add eax, edx
mov edx, dword [esp + 0x1c]
sub eax, dword [edx - 4]
cdq
and edx, 0xffff
add eax, edx
mov ecx, eax
sar ecx, 0x10
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, 0xff
jge 0x434068
mov eax, dword [ecx*4 + 0x486f2c]
mov dword [esp + 0x20], eax
jmp 0x434070
mov dword [esp + 0x20], 0x10000
mov eax, dword [0x49e284]
mov dword [esp + 0x18], 0
test eax, eax
jl 0x43415b
mov edi, dword [esp + 0x14]
shl esi, 7
xor eax, eax
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x1c]
mov ebp, dword [edi + 0x51c]
add eax, 0xfff00000
mov edx, dword [ecx - 8]
add eax, ebp
sub eax, edx
xor ecx, ecx
cdq
mov cl, byte [ebx + esi]
and edx, 0xffff
add eax, edx
sar eax, 0x10
cmp eax, 0xffffffc0
jle 0x43411f
cmp eax, 0x40
jge 0x43411f
mov eax, dword [eax*4 + 0x486f2c]
mov edx, dword [esp + 0x20]
add eax, edx
shr eax, 6
cmp eax, 0x32
jge 0x43411f
cmp ecx, 0x40
mov edx, ecx
jle 0x4340fe
mov ebp, 0x40
sub ebp, eax
mov eax, dword [edi + 0x53c]
add ecx, ebp
cmp ecx, eax
jge 0x4340f6
mov ecx, eax
jmp 0x43411f
cmp ecx, edx
jle 0x43411f
mov ecx, edx
jmp 0x43411f
mov edx, 0x40
sub edx, eax
mov eax, dword [edi + 0x53c]
add ecx, edx
cmp ecx, eax
jge 0x434115
mov ecx, eax
jmp 0x43411f
cmp ecx, 0x40
jle 0x43411f
mov ecx, 0x40
cmp ecx, 0x7f
jle 0x434129
mov ecx, 0x7f
mov eax, dword [esp + 0x24]
mov byte [ebx + esi], cl
mov ecx, dword [esp + 0x18]
mov edx, dword [0x49e284]
mov ebx, dword [0x49e28c]
inc ecx
add eax, 0x80000
inc esi
cmp ecx, edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
jle 0x434092
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x49e288]
inc esi
add eax, 0x80000
cmp esi, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], eax
jle 0x434027
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
add eax, 0x5d4
add esi, 0x40
cmp eax, 0x557174
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], eax
jl 0x433f3d
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x5a8]
test eax, eax
jle 0x434262
cmp dword [0x58bb9c], 0x140
jg 0x4341dc
cmp eax, 0x28
jge 0x4341cf
imul eax, eax
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x28], eax
jmp 0x4341e7
mov ecx, eax
imul ecx, eax
sub ecx, 0x320
jmp 0x4341e3
mov ecx, eax
imul ecx, eax
shl ecx, 1
mov dword [esp + 0x28], ecx
mov ecx, dword [0x49e288]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x2c], eax
jl 0x434262
xor esi, esi
mov ecx, dword [0x49e288]
mov edx, eax
shr ecx, 1
sub edx, ecx
xor ecx, ecx
mov edi, dword [edx*4 + 0x486f2c]
mov edx, dword [0x49e284]
test edx, edx
jl 0x43424d
mov eax, edx
mov ebp, ecx
shr eax, 1
sub ebp, eax
mov eax, dword [ebp*4 + 0x486f2c]
mov ebp, dword [esp + 0x28]
add eax, edi
cmp eax, ebp
jge 0x434244
lea edx, [ecx + ebx]
mov byte [edx + esi], 0
mov edx, dword [0x49e284]
mov ebx, dword [0x49e28c]
inc ecx
cmp ecx, edx
jle 0x434218
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x49e288]
inc eax
add esi, 0x80
cmp eax, ecx
mov dword [esp + 0x2c], eax
jle 0x4341f9
mov eax, dword [0x56b6a0]
test eax, eax
jne 0x434303
mov eax, dword [0x4a3128]
test eax, eax
jne 0x434303
mov eax, dword [0x57fbd8]
test eax, eax
jne 0x434303
mov eax, dword [0x49e288]
mov edi, 1
cmp eax, edi
jle 0x43434e
mov ebp, 0x81
mov eax, dword [0x49e284]
mov esi, 1
dec eax
cmp eax, esi
jle 0x4342f1
mov eax, ebp
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + eax + 0x80]
mov dl, byte [ebx + eax - 0x80]
add ecx, edx
xor edx, edx
mov dl, byte [ebx + eax + 1]
add ecx, edx
xor edx, edx
mov dl, byte [ebx + eax - 1]
add ecx, edx
xor edx, edx
mov dl, byte [ebx + eax]
inc esi
inc eax
mov cl, byte [ecx + edx + 0x484740]
mov byte [ebx + eax - 1], cl
mov edx, dword [0x49e284]
mov ebx, dword [0x49e28c]
dec edx
cmp esi, edx
jl 0x4342ad
mov eax, dword [0x49e288]
inc edi
add ebp, 0x80
cmp edi, eax
jl 0x43429c
jmp 0x43434e
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x53c]
sub ecx, 0x10
jns 0x434314
xor ecx, ecx
mov eax, dword [0x49e288]
xor edx, edx
test eax, eax
jle 0x43434e
mov eax, dword [0x49e284]
xor esi, esi
test eax, eax
jle 0x434344
mov eax, edx
shl eax, 7
mov byte [ebx + eax], cl
mov edi, dword [0x49e284]
mov ebx, dword [0x49e28c]
inc esi
inc eax
cmp esi, edi
jl 0x43432f
mov eax, dword [0x49e288]
inc edx
cmp edx, eax
jl 0x43431f
mov edi, dword [esp + 0x34]
mov esi, 0x54bb94
mov ebp, 4
mov eax, dword [esi + 0x10c]
test eax, eax
je 0x43438f
mov eax, dword [esi]
test eax, eax
jle 0x43438f
cmp dword [esi - 4], ebp
jne 0x43438f
mov ecx, dword [esi - 0x4a4]
mov edx, dword [esi - 0x4a8]
push eax
push ecx
push edx
push edi
call fcn.004336f0
mov ebx, dword [0x49e28c]
add esp, 0x10
add esi, 0x5d4
cmp esi, 0x557614
jl 0x43435c
mov eax, dword [0x58bb68]
cmp eax, 0x20
jne 0x434447
mov eax, dword [0x49e288]
shl eax, 9
push eax
call fcn.004654e0
mov dword [0x486940], eax
mov eax, dword [0x49e288]
add esp, 4
xor edi, edi
test eax, eax
jle 0x43442e
mov eax, dword [0x49e284]
lea ecx, [eax + 2]
xor esi, esi
test ecx, ecx
jle 0x434423
mov edx, edi
mov ecx, edi
shl edx, 7
shl ecx, 9
mov ebx, dword [0x49e28c]
xor eax, eax
mov al, byte [ebx + edx]
shl eax, 1
cmp eax, 0xff
jl 0x4343fd
mov eax, 0xff
mov ebx, eax
add ecx, 4
shl ebx, 8
add ebx, eax
shl ebx, 8
add ebx, eax
mov eax, dword [0x486940]
inc esi
inc edx
mov dword [ecx + eax - 4], ebx
mov eax, dword [0x49e284]
lea ebx, [eax + 2]
cmp esi, ebx
jl 0x4343e4
mov ecx, dword [0x49e288]
inc edi
cmp edi, ecx
jl 0x4343d1
call fcn.00453760
mov ecx, dword [0x486940]
push ecx
call fcn.004654f0
add esp, 4
jmp 0x4345ca
cmp eax, 0x10
jne 0x434488
push 0x800
call fcn.004654e0
mov edx, dword [0x49e28c]
add esp, 4
add edx, 0x102
mov dword [0x486944], eax
mov dword [0x486940], edx
call fcn.00453c77
mov eax, dword [0x486944]
push eax
call fcn.004654f0
add esp, 4
jmp 0x4345ca
mov ecx, dword [0x58bba0]
mov edx, dword [0x58bba4]
mov dword [esp + 0x34], edx
mov dword [esp + 0x10], 2
lea eax, [ecx*8]
mov ecx, dword [0x58bb9c]
sub eax, ecx
mov ecx, dword [0x49e288]
mov dword [esp + 0x20], eax
mov eax, dword [0x58bb98]
dec ecx
mov dword [esp + 0x28], eax
cmp ecx, 2
jle 0x4345ca
mov esi, 0x100
mov dword [esp + 0x24], esi
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + esi + 0x82]
mov dl, byte [ebx + esi + 3]
mov ebp, ecx
mov ecx, dword [0x49e284]
mov dword [esp + 0x2c], edx
xor edx, edx
mov dl, byte [ebx + esi + 0x83]
add ecx, 0xfffffffe
xor eax, eax
cmp ecx, 2
mov al, byte [ebx + esi + 2]
mov edi, edx
mov dword [esp + 0x18], 2
jle 0x434587
mov edx, dword [esp + 0x24]
lea esi, [edx + 2]
lea ecx, [edi + ebp*2]
add ecx, eax
cmp ecx, 0x100
je 0x43454a
mov eax, dword [esp + 0x28]
cmp eax, 8
jl 0x434533
mov eax, 8
mov edx, dword [esp + 0x34]
add ebx, esi
push eax
push ebx
push edx
call fcn.00458279
mov ebx, dword [0x49e28c]
add esp, 0xc
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
add ebp, 8
xor ecx, ecx
mov cl, byte [ebx + esi + 2]
xor edx, edx
mov dl, byte [ebx + esi + 0x82]
mov dword [esp + 0x34], ebp
mov ebp, edi
mov dword [esp + 0x2c], ecx
mov ecx, dword [0x49e284]
mov edi, edx
mov edx, dword [esp + 0x18]
add ecx, 0xfffffffe
inc edx
inc esi
cmp edx, ecx
mov dword [esp + 0x18], edx
jl 0x434518
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
sub eax, 8
add esi, edx
mov dword [esp + 0x28], eax
test eax, eax
mov dword [esp + 0x34], esi
jle 0x4345ca
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
mov ecx, dword [0x49e288]
inc eax
add esi, 0x80
dec ecx
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], esi
jl 0x4344d5
push 0x4ea320
call fcn.00467199
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret