Function at 0x42d2f0
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x90
mov eax, dword [0x5f969c]
xor eax, esp
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x94]
push ebx
push ebp
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x530]
push esi
push edi
mov edi, dword [ebp + 0x52c]
sub edi, dword [ebp + 0x524]
mov ecx, eax
sub ecx, dword [ebp + 0x528]
cmp dword [esp + 0xac], 2
mov dword [esp + 0x24], ecx
jne 0x42d3c9
cmp byte [ebp + 0x1a], 0
jne 0x42d3c9
cmp eax, 0xc
jge 0x42d3c9
lea ebx, [eax + 1]
cmp ebx, 3
jge 0x42d362
mov ebx, 3
lea ecx, [ebp + 0x200]
mov dword [esp + 0x2c], 0x43
mov esi, dword [ecx + 0x10c]
mov edx, esi
imul edx, ebx
mov eax, 0x2aaaaaab
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
add dword [ecx], eax
add ecx, 4
sub dword [esp + 0x2c], 1
jne 0x42d370
cmp dword [ebp + 0x10], 0
mov byte [ebp + 0x1a], 1
je 0x42d3c9
push 0xc
push ebx
lea ecx, [esp + 0x64]
push str.Hints__d__d
push ecx
mov edx, 0x20
call fcn.00430460
lea edx, [esp + 0x6c]
push edx
mov ebx, ebp
call fcn.0042a720
add esp, 0x14
mov ecx, 1
add dword [ebp + 0x24], ecx
cmp dword [esp + 0xac], 2
mov eax, dword [ebp + 0x24]
je 0x42d3fe
cmp dword [ebp + 0xf0], ecx
jg 0x42d3ee
mov byte [ebp + 0x18], cl
jmp 0x42e1fa
test eax, eax
jle 0x42d3fe
mov eax, dword [esp + 0x24]
add eax, edi
je 0x42e1fa
xor eax, eax
cmp dword [esp + 0x24], eax
mov byte [esp + 0x1b], 0x20
mov byte [esp + 0x18], 0x20
mov byte [esp + 0x16], 0
mov dword [esp + 0x3c], eax
mov byte [esp + 0x19], al
mov dword [esp + 0x38], eax
jle 0x42da18
jmp 0x42d430
mov eax, dword [ebp + 0x528]
add eax, dword [esp + 0x38]
xor esi, esi
mov cl, byte [ebp + eax*2 + 0x595]
mov dl, byte [ebp + eax*2 + 0x594]
mov edi, dword [ebp + eax*4 + 0x834]
mov byte [esp + 0x13], dl
mov byte [esp + 0x14], cl
shr cl, 4
and dl, 0xf0
or dl, cl
cmp eax, esi
mov ecx, dword [ebp + eax*4 + 0x6b4]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x15], 0
jle 0x42d4ad
mov eax, dword [ebp + eax*4 + 0x6b0]
add eax, 2
cmp ecx, eax
sete al
test al, al
je 0x42d4ad
mov cl, dl
and cl, 0xcc
cmp cl, 0xcc
je 0x42d4a8
mov al, byte [esp + 0x19]
and al, 0xcc
cmp al, 0xcc
jne 0x42d4ad
mov byte [esp + 0x15], 1
mov cl, byte [esp + 0x13]
mov al, byte [esp + 0x14]
movzx esi, byte [esp + 0x14]
or byte [esp + 0x16], cl
and al, 0x80
xor al, cl
movzx ebx, cl
mov byte [esp + 0x23], al
mov eax, ebx
shl eax, 8
or eax, esi
mov byte [esp + 0x19], dl
mov byte [esp + 0x17], 0
mov dword [esp + 0x58], ebx
mov dword [esp + 0x28], esi
cmp cl, 0x20
jae 0x42d4eb
and eax, 0xfff0
cmp eax, dword [ebp + 0xc8]
je 0x42d84b
cmp eax, dword [ebp + 0xcc]
je 0x42d84b
cmp eax, dword [ebp + 0xd0]
je 0x42d84b
cmp eax, dword [ebp + 0xd4]
je 0x42d84b
mov ecx, dword [ebp + 0xc4]
inc dword [esp + 0x3c]
mov dword [ebp + ecx*4 + 0xc8], eax
mov eax, dword [ebp + 0xc4]
inc eax
and eax, 3
cmp byte [0x5ff19f], 0
mov dword [ebp + 0xc4], eax
mov byte [esp + 0x17], 1
jne 0x42d570
mov ecx, dword [ebp + 0x1c]
lea esi, [ebp + ecx*4 + 0x200]
mov ecx, edi
mov eax, 0xf
sar eax, cl
add dword [esi], eax
mov ecx, dword [ebp + 0x20]
add dword [ebp + ecx*4 + 0x200], eax
lea ecx, [ebp + ecx*4 + 0x200]
cmp dword [ebp + 0xf0], 0
mov byte [esp + 0x1a], 0
mov dword [esp + 0x34], 0
jle 0x42d72c
movzx edx, dl
lea eax, [ebp + 0xf4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x4c], eax
jmp 0x42d5a0
mov ecx, dword [esp + 0x4c]
mov esi, dword [ecx]
mov edx, dword [esi*4 + 0x5a7340]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], edx
cmp esi, 0x3a
jne 0x42d5f2
mov eax, dword [esp + 0x28]
shr eax, 3
mov ecx, ebx
and ecx, 0xe0
or ecx, eax
shr ecx, 3
mov eax, 1
shl eax, cl
mov ecx, dword [ebp + 0x3c]
test eax, ecx
jne 0x42d5ea
or ecx, eax
inc dword [ebp + 0x34]
mov dword [ebp + 0x3c], ecx
jmp 0x42d5f2
mov dword [esp + 0x54], 2
mov edx, dword [esp + 0x40]
mov ecx, esi
imul ecx, ecx, 0x318
add ecx, 0x5ab5f0
cmp byte [edx + ecx + 0x218], 0
jne 0x42d640
mov al, byte [esp + 0x13]
cmp al, byte [esp + 0x1b]
jne 0x42d626
mov cl, byte [esp + 0x14]
cmp cl, byte [esp + 0x18]
je 0x42d6d1
mov edx, 0x258
mov ecx, edi
sar edx, cl
mov byte [esp + 0x1a], 1
sub dword [ebp + esi*4 + 0x200], edx
jmp 0x42d6d1
movzx eax, byte [esp + 0x23]
mov edx, dword [esp + 0x28]
movzx edx, byte [edx + ecx + 0x118]
movzx eax, byte [eax + ecx + 0x18]
add eax, edx
mov edx, dword [esp + 0x40]
movzx edx, byte [edx + ecx + 0x218]
add eax, edx
mov edx, dword [esp + 0x40]
test byte [edx + ecx + 0x218], 1
je 0x42d69c
mov edx, dword [esp + 0x28]
and ebx, 0x1f
and edx, 0x1f
shl ebx, 5
or ebx, edx
mov edx, dword [esp + 0x28]
shr edx, 5
and edx, 3
mov ecx, dword [ecx + edx*4]
movzx edx, byte [ebx + ecx]
mov ebx, dword [esp + 0x58]
add eax, edx
jmp 0x42d69f
add eax, dword [ecx + 0x14]
mov ecx, dword [esp + 0x54]
sar eax, cl
mov ecx, edi
sar eax, cl
add dword [ebp + esi*4 + 0x200], eax
cmp byte [0x5ff19c], 0
je 0x42d6d1
cmp dword [0x5faf3c], esi
jne 0x42d6c5
mov dword [esp + 0x2c], eax
cmp dword [0x5faf40], esi
jne 0x42d6d1
mov dword [esp + 0x48], eax
cmp byte [esp + 0x15], 0
je 0x42d6fb
mov eax, dword [esp + 0x50]
mov ecx, dword [eax*4 + 0x5c8798]
shr ecx, 0xa
test cl, 1
je 0x42d6fb
mov edx, 0xf
mov ecx, edi
sar edx, cl
add dword [ebp + esi*4 + 0x200], edx
mov eax, dword [esp + 0x34]
add dword [esp + 0x4c], 4
inc eax
cmp eax, dword [ebp + 0xf0]
mov dword [esp + 0x34], eax
jl 0x42d5a0
cmp byte [esp + 0x1a], 0
je 0x42d72c
mov al, byte [esp + 0x13]
mov cl, byte [esp + 0x14]
mov byte [esp + 0x1b], al
mov byte [esp + 0x18], cl
cmp dword [esp + 0x30], 0x10
jge 0x42d754
mov eax, dword [esp + 0x28]
mov edx, ebx
shl edx, 8
movzx eax, byte [edx + eax + str.____________________________8_________________________888888888888898888898988998999998989_______98________________________________________________________________________________________________________________________________________888_88_________________b____________________________]
mov edx, 0xf
mov ecx, edi
sar edx, cl
add dword [ebp + eax*4 + 0x200], edx
mov cl, byte [ebp + 0x2d]
test cl, cl
jne 0x42d764
cmp byte [ebp + 0x2c], cl
je 0x42d84b
mov edx, dword [ebp]
mov esi, dword [esp + 0x1c]
xor al, al
lea edx, [edx + esi - 1]
mov dword [esp + 0x34], edx
test cl, cl
jne 0x42d7d2
test byte [esp + 0x38], 7
je 0x42d7d0
add edx, 3
cmp edx, dword [ebp + 4]
ja 0x42d7d0
mov eax, dword [esp + 0x34]
movzx ecx, byte [eax + 1]
movsx edx, byte [ecx + 0x5c8f58]
movzx ecx, byte [eax]
movsx ecx, byte [ecx + 0x5c8f58]
movzx eax, byte [eax + 2]
shl ecx, 5
or edx, ecx
movsx ecx, byte [eax + 0x5c8f58]
mov eax, dword [edx*8 + 0x5c9058]
mov edx, dword [edx*8 + 0x5c905c]
add ecx, ecx
call fcn.00540b40
and eax, 3
cmp al, 1
setg al
jmp 0x42d7d2
mov al, 1
cmp byte [ebp + 0x2d], 0
jne 0x42d7dc
test al, al
je 0x42d84b
and esi, 0xffffffe0
cmp dword [ebp + 0x28], esi
mov dword [esp + 0x1c], esi
jg 0x42d84b
mov eax, dword [esp + 0x1c]
mov esi, ebp
call fcn.0042d1c0
cmp byte [0x5ff19b], 0
mov byte [esp + 0x13], al
je 0x42d810
cmp byte [ebp + 0x2d], 0
jne 0x42d810
test al, al
je 0x42d810
inc dword [0x5ff1b8]
cmp byte [0x5ff19d], 0
je 0x42d83a
cmp byte [ebp + 0x2d], 0
jne 0x42d83a
cmp byte [esp + 0x13], 0
je 0x42d83a
mov ecx, dword [ebp]
mov eax, dword [esp + 0x34]
push 2
push 0
push ecx
call fcn.0042aa40
add esp, 0xc
mov dl, byte [esp + 0x13]
mov eax, dword [esp + 0x1c]
or byte [ebp + 0x2d], dl
add eax, 0x20
mov dword [ebp + 0x28], eax
mov ecx, ebx
shr ecx, 5
inc dword [ebp + ecx*4 + 0x90]
cmp dword [ebp + 0x10], 0
lea eax, [ebp + ecx*4 + 0x90]
je 0x42d904
mov al, byte [esp + 0x17]
mov esi, dword [esp + 0x28]
neg edi
sbb edi, edi
movzx edx, al
and edi, 0xd
add edi, 0x20
neg edx
sbb edx, edx
movzx eax, al
and edx, 0xffffffc3
push edi
add edx, 0x5d
push edx
neg eax
sbb eax, eax
push esi
and eax, 0xffffffc5
push ebx
add eax, 0x5b
push eax
lea ecx, [esp + 0x70]
push str._c_02x_02x_c_c
push ecx
mov edx, 0x10
call fcn.00430440
mov edi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
imul edi, edi, 0x130
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ebp + ecx*4 + 0x6b4]
shl ebx, 8
movzx eax, byte [ebx + esi + str.____________________________8_________________________888888888888898888898988998999998989_______98________________________________________________________________________________________________________________________________________888_88_________________b____________________________]
mov dword [edi + edx], ecx
mov edx, dword [ebp + 0x10]
mov dword [edx + edi + 4], eax
mov ecx, dword [ebp + 0x10]
add esp, 0x1c
lea eax, [esp + 0x5c]
push eax
lea ecx, [ecx + edi + 8]
call fcn.0041b5b0
mov edx, dword [ebp + 0x10]
lea esi, [ebp + 0x200]
lea edi, [edx + edi + 0x24]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
inc dword [ebp + 0x14]
cmp byte [0x5ff19c], 0
je 0x42d9aa
cmp dword [esp + 0x2c], 0
jne 0x42d923
cmp dword [esp + 0x48], 0
je 0x42d9aa
mov eax, dword [esp + 0x48]
push eax
xor ecx, ecx
test eax, eax
mov eax, dword [esp + 0x30]
setl cl
xor edx, edx
test eax, eax
setl dl
lea ecx, [ecx + ecx + 0x2b]
push ecx
push eax
lea edx, [edx + edx + 0x2b]
push edx
lea eax, [esp + 0x8c]
push str._c_d__c_d
push eax
mov edx, 0x20
call fcn.00430460
mov edi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
imul edi, edi, 0x130
mov edx, dword [ecx + edi - 0x130]
lea eax, [ecx + edi]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
add esp, 0x18
mov dword [eax + edi + 4], 0xffffffff
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [edx + edi + 8]
call fcn.0041b5b0
mov eax, dword [ebp + 0x10]
lea esi, [ebp + 0x200]
lea edi, [eax + edi + 0x24]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
inc dword [ebp + 0x14]
mov eax, dword [esp + 0x38]
inc eax
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
jl 0x42d430
mov edi, dword [esp + 0x3c]
test edi, edi
jle 0x42da18
test byte [esp + 0x16], 0x80
jne 0x42da18
xor ecx, ecx
cmp dword [ebp + 0xf0], ecx
jle 0x42da18
lea esi, [ebp + 0xf4]
lea esp, [esp]
mov eax, dword [esi]
mov edx, dword [eax*4 + 0x5a7340]
mov edx, dword [edx*4 + 0x5c8798]
shr edx, 8
test dl, 1
je 0x42da0c
mov edx, edi
shl edx, 4
sub edx, edi
neg edx
add edx, edx
add edx, edx
add dword [ebp + eax*4 + 0x200], edx
inc ecx
add esi, 4
cmp ecx, dword [ebp + 0xf0]
jl 0x42d9e0
cmp dword [ebp + 0xb0], 0
je 0x42da30
mov eax, dword [esp + 0x44]
push eax
mov ecx, ebp
call fcn.0042cb20
add esp, 4
cmp dword [esp + 0xac], 2
mov ecx, dword [esp + 0x44]
mov edx, dword [ebp + 0x52c]
mov eax, dword [ebp + 0x530]
mov dword [ebp + 8], ecx
mov dword [ebp + 0x524], edx
mov dword [ebp + 0x528], eax
jne 0x42dbe8
cmp dword [ebp + 0x48], 0
mov eax, 0xffffff88
je 0x42da6e
add dword [ebp + 0x208], eax
cmp dword [ebp + 0x64], 0
je 0x42da7a
add dword [ebp + 0x2ec], eax
cmp dword [ebp + 0x60], 0
mov eax, 0xffffed40
jne 0x42da91
add dword [ebp + 0x208], eax
add dword [ebp + 0x2ec], eax
cmp dword [ebp + 0x80], 0
jne 0x42daa0
add dword [ebp + 0x2ec], eax
mov eax, dword [ebp + 0x30]
cmp eax, 4
jge 0x42dac3
cmp eax, 3
jne 0x42dab9
add dword [ebp + 0x2e8], 0xfffffb50
jmp 0x42dac3
add dword [ebp + 0x2e8], 0xfffff6a0
cmp dword [ebp + 0x530], 1
jl 0x42db9b
mov ecx, dword [ebp + 0xb0]
shr ecx, 3
test cl, 1
je 0x42db9b
cmp byte [ebp + 0x594], 0x1b
jne 0x42db9b
cmp byte [ebp + 0x595], 0x24
jne 0x42db9b
mov eax, dword [ebp + 0x6b4]
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
add eax, edx
sub ecx, 3
cmp eax, ecx
jae 0x42db84
mov cl, byte [eax + 2]
cmp cl, 0x29
jne 0x42db69
cmp byte [eax + 3], 0x43
jne 0x42db3c
add dword [ebp + 0x2a8], 0x258
mov eax, 0xfffffda8
add dword [ebp + 0x2b4], eax
add dword [ebp + 0x254], eax
jmp 0x42db9b
cmp cl, 0x29
jne 0x42db69
mov al, byte [eax + 3]
cmp al, 0x41
je 0x42db4c
cmp al, 0x47
jne 0x42db69
add dword [ebp + 0x2b4], 0x258
mov eax, 0xfffffda8
add dword [ebp + 0x2a8], eax
add dword [ebp + 0x254], eax
jmp 0x42db9b
cmp cl, 0x40
je 0x42db73
cmp cl, 0x42
jne 0x42db9b
add dword [ebp + 0x254], 0x258
mov eax, 0xfffffda8
jmp 0x42db8f
mov eax, 0xfffffda8
add dword [ebp + 0x254], eax
add dword [ebp + 0x2b4], eax
add dword [ebp + 0x2a8], eax
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x42dbe8
mov edi, dword [ebp + 0x14]
imul edi, edi, 0x130
mov edx, dword [eax + edi - 0x130]
mov dword [eax + edi], edx
mov eax, dword [ebp + 0x10]
mov dword [eax + edi + 4], 0xffffffff
mov ecx, dword [ebp + 0x10]
push str.pre_final
lea ecx, [ecx + edi + 8]
call fcn.0041b5b0
mov edx, dword [ebp + 0x10]
lea esi, [ebp + 0x200]
lea edi, [edx + edi + 0x24]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
inc dword [ebp + 0x14]
mov eax, ebp
call fcn.0042cf70
mov ebx, 1
cmp dword [esp + 0xac], ebx
jne 0x42dc4a
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x42dc4a
mov edi, dword [ebp + 0x14]
imul edi, edi, 0x130
mov ecx, dword [eax + edi - 0x130]
mov dword [eax + edi], ecx
mov edx, dword [ebp + 0x10]
mov dword [edx + edi + 4], 0xffffffff
mov eax, dword [ebp + 0x10]
push str.slow_end
lea ecx, [eax + edi + 8]
call fcn.0041b5b0
mov ecx, dword [ebp + 0x10]
lea edi, [ecx + edi + 0x24]
lea esi, [ebp + 0x200]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
add dword [ebp + 0x14], ebx
cmp dword [ebp + 0xdc], 0x3a
mov eax, dword [ebp + 0xec]
mov esi, eax
mov dword [esp + 0x1c], eax
jne 0x42dc65
add esi, esi
mov dword [esp + 0x1c], esi
mov ebx, dword [ebp + 0xe4]
sub ebx, esi
xor edx, edx
cmp eax, 0x12c
mov dword [esp + 0x50], ebx
jle 0x42dc92
mov ecx, 0x12c
cmp dword [esp + 0x3c], edx
jne 0x42dc8a
mov ecx, 0x96
sub eax, ecx
mov dword [ebp + 0xec], eax
cmp dword [ebp + 0xf0], edx
mov dword [ebp + 0xb0], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x30], edx
jle 0x42dd35
lea edi, [ebp + 0xf4]
mov esi, edi
jmp 0x42dcc4
mov ebx, dword [esp + 0x50]
mov eax, dword [esi]
mov ecx, dword [ebp + eax*4 + 0x200]
cmp ecx, ebx
mov dl, 1
jge 0x42dcd5
xor dl, dl
cmp dword [esp + 0xac], 1
jne 0x42dcfc
mov ebx, dword [eax*4 + 0x5a7340]
test byte [ebx*4 + 0x5c8798], 1
je 0x42dcfc
test ecx, ecx
jg 0x42dcfc
cmp eax, dword [ebp + 0xdc]
jne 0x42dd1d
test dl, dl
je 0x42dd1d
mov edx, dword [eax*4 + 0x5a7340]
mov ecx, dword [edx*4 + 0x5c8798]
or dword [ebp + 0xb0], ecx
inc dword [esp + 0x24]
mov dword [edi], eax
add edi, 4
mov eax, dword [esp + 0x30]
inc eax
add esi, 4
cmp eax, dword [ebp + 0xf0]
mov dword [esp + 0x30], eax
jl 0x42dcc0
mov esi, dword [esp + 0x1c]
cmp dword [ebp + 0x10], 0
je 0x42ddb4
mov eax, 0x88888889
imul esi
add edx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea ecx, [esp + 0x80]
push str._d_prune
push ecx
mov edx, 0x20
call fcn.00430460
mov edi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
imul edi, edi, 0x130
mov ecx, dword [edx + edi - 0x130]
lea eax, [edx + edi]
mov dword [eax], ecx
mov edx, dword [ebp + 0x10]
mov dword [edx + edi + 4], 0xffffffff
mov ecx, dword [ebp + 0x10]
add esp, 0xc
lea eax, [esp + 0x7c]
push eax
lea ecx, [ecx + edi + 8]
call fcn.0041b5b0
mov edx, dword [ebp + 0x10]
lea esi, [ebp + 0x200]
lea edi, [edx + edi + 0x24]
mov ecx, 0x43
rep movsd dword es:[edi], dword [esi]
inc dword [ebp + 0x14]
cmp dword [esp + 0xac], 2
mov eax, dword [esp + 0x24]
mov dword [ebp + 0xf0], eax
jne 0x42e113
cmp dword [ebp + 0x530], 0
mov ecx, 0x4b0
jne 0x42de0e
mov eax, dword [ebp + 0xdc]
cmp eax, 0x3a
je 0x42de0e
cmp eax, 0x2c
je 0x42de0e
cmp eax, 0x2d
je 0x42de0e
cmp eax, 0x2a
je 0x42de0e
cmp eax, 0x15
je 0x42de0e
cmp eax, 0x28
je 0x42de0e
mov dword [ebp + 0xdc], 0
add dword [ebp + 0x200], ecx
cmp dword [ebp + 0xa0], 0
mov eax, dword [ebp + 0xdc]
jle 0x42de7d
dec eax
cmp eax, 0x21
ja case.0x42de2e.2
movzx edx, byte [eax + 0x42e228]
jmp dword [edx*4 + 0x42e214]
mov dword [ebp + 0xdc], 4
add dword [ebp + 0x210], ecx
jmp case.0x42de2e.2
mov dword [ebp + 0xdc], 0xb
add dword [ebp + 0x22c], ecx
jmp case.0x42de2e.2
mov dword [ebp + 0xdc], 0x16
add dword [ebp + 0x258], ecx
jmp case.0x42de2e.2
mov dword [ebp + 0xdc], 0x1c
add dword [ebp + 0x270], ecx
jmp case.0x42de2e.2
cmp eax, 4
je 0x42deb0
cmp eax, 0x16
je 0x42de9e
cmp eax, 0x1c
jne case.0x42de2e.2
mov dword [ebp + 0xdc], 0xe
add dword [ebp + 0x238], ecx
jmp case.0x42de2e.2
mov dword [ebp + 0xdc], 0xd
add dword [ebp + 0x234], ecx
jmp case.0x42de2e.2
mov dword [ebp + 0xdc], 1
add dword [ebp + 0x204], ecx
cmp dword [ebp + 0x10], 0
je 0x42e113
mov eax, dword [esp + 0x44]
sub eax, dword [ebp]
mov edx, 0x20
push eax
lea eax, [esp + 0x60]
push str.final__d
push eax
call fcn.00430460
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
imul esi, esi, 0x130
mov edx, dword [ecx + esi - 0x130]
lea eax, [ecx + esi]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
add esp, 0xc
mov dword [eax + esi + 4], 0xffffffff
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [edx + esi + 8]
call fcn.0041b5b0
mov eax, dword [ebp + 0x10]
lea ebx, [ebp + 0x200]
lea edi, [eax + esi + 0x24]
mov ecx, 0x43
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xe4]
sub ecx, dword [ebp + 0xe8]
inc dword [ebp + 0x14]
cmp ecx, 0x3c
jge 0x42dfdf
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp + 0xdc]
mov eax, dword [edx*4 + 0x5a7340]
test eax, eax
jl 0x42dfa3
jne 0x42df73
mov esi, str.Latin1
jmp 0x42dfa8
cmp eax, 0x4b
jge 0x42df84
lea eax, [eax + eax*2]
mov esi, dword [eax*4 + 0x5a14b0]
jmp 0x42dfa8
cmp eax, 0x4f
jge 0x42df92
mov esi, dword [eax*4 + 0x5fadec]
jmp 0x42dfa8
add eax, 0xffffff9c
cmp eax, 0x13
ja 0x42dfa3
mov esi, dword [eax*4 + 0x5faec8]
jmp 0x42dfa8
mov esi, 0x5cca54
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
add edx, edx
push esi
sub ecx, edx
push ecx
push eax
lea eax, [esp + 0x68]
push str._d._d__s
push eax
mov edx, 0x20
call fcn.00430460
add esp, 0x14
jmp 0x42e0cb
cmp ecx, 0x5dc
jge 0x42e064
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp + 0xdc]
mov eax, dword [edx*4 + 0x5a7340]
test eax, eax
jl 0x42e044
jne 0x42e014
mov eax, str.Latin1
jmp 0x42e049
cmp eax, 0x4b
jge 0x42e025
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x5a14b0]
jmp 0x42e049
cmp eax, 0x4f
jge 0x42e033
mov eax, dword [eax*4 + 0x5fadec]
jmp 0x42e049
add eax, 0xffffff9c
cmp eax, 0x13
ja 0x42e044
mov eax, dword [eax*4 + 0x5faec8]
jmp 0x42e049
mov eax, 0x5cca54
push eax
push ecx
lea ecx, [esp + 0x64]
push str._d__s
push ecx
mov edx, 0x20
call fcn.00430460
add esp, 0x10
jmp 0x42e0cb
mov edx, dword [ebp + 0xdc]
mov eax, dword [edx*4 + 0x5a7340]
test eax, eax
jl 0x42e0ae
jne 0x42e07e
mov eax, str.Latin1
jmp 0x42e0b3
cmp eax, 0x4b
jge 0x42e08f
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x5a14b0]
jmp 0x42e0b3
cmp eax, 0x4f
jge 0x42e09d
mov eax, dword [eax*4 + 0x5fadec]
jmp 0x42e0b3
add eax, 0xffffff9c
cmp eax, 0x13
ja 0x42e0ae
mov eax, dword [eax*4 + 0x5faec8]
jmp 0x42e0b3
mov eax, 0x5cca54
push eax
lea ecx, [esp + 0x60]
push 0x5cca04
push ecx
mov edx, 0x20
call fcn.00430460
add esp, 0xc
mov esi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
imul esi, esi, 0x130
mov ecx, dword [ebp + 0xdc]
lea eax, [edx + esi]
mov edx, dword [eax - 0x130]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov dword [eax + esi + 4], ecx
mov edx, dword [ebp + 0x10]
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [edx + esi + 8]
call fcn.0041b5b0
mov eax, dword [ebp + 0x10]
lea edi, [eax + esi + 0x24]
mov ecx, 0x43
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x530]
mov byte [ebp + 0x19], 0
test eax, eax
jne 0x42e125
mov byte [ebp + 0x19], 1
mov ecx, dword [ebp + 0xe4]
sub ecx, dword [ebp + 0xe8]
cmp ecx, 0x12c
jl 0x42e13d
mov byte [ebp + 0x19], 1
cmp eax, 1
jne 0x42e167
movzx edx, byte [ebp + 0x594]
movzx eax, byte [ebp + 0x595]
shl edx, 8
movzx ecx, byte [edx + eax + str.____________________________8_________________________888888888888898888898988998999998989_______98________________________________________________________________________________________________________________________________________888_88_________________b____________________________]
cmp ecx, dword [ebp + 0xdc]
jne 0x42e167
mov byte [ebp + 0x19], 1
mov eax, dword [ebp + 0xf0]
cmp eax, 1
jne 0x42e178
mov byte [ebp + 0x19], al
mov byte [ebp + 0x18], al
cmp eax, 2
jne 0x42e1a7
mov edx, dword [ebp + 0xf8]
mov ecx, dword [ebp + 0xf4]
mov eax, dword [edx*4 + 0x5a7340]
mov edx, dword [ecx*4 + 0x5a7340]
mov ecx, dword [edx*4 + 0x5c8538]
cmp ecx, dword [eax*4 + 0x5c8538]
jmp 0x42e1ea
cmp eax, 3
jne 0x42e1fa
mov edx, dword [ebp + 0xf4]
mov eax, dword [edx*4 + 0x5a7340]
mov ecx, dword [ebp + 0xf8]
mov eax, dword [eax*4 + 0x5c8538]
mov edx, dword [ecx*4 + 0x5a7340]
cmp eax, dword [edx*4 + 0x5c8538]
jne 0x42e1fa
mov ecx, dword [ebp + 0xfc]
mov edx, dword [ecx*4 + 0x5a7340]
cmp eax, dword [edx*4 + 0x5c8538]
jne 0x42e1fa
cmp dword [ebp + 0x24], 3
jl 0x42e1fa
mov byte [ebp + 0x18], 1
mov byte [ebp + 0x19], 1
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0053c85d
add esp, 0x90
ret