Function at 0x411033
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x7c
mov eax, dword [0x5b5450]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
mov ebx, dword [esp + 0x84]
push ebp
mov eax, dword [ebx + 4]
push esi
push edi
mov edi, dword [ebx]
mov dword [esp + 0x60], ebx
cmp eax, 0xa
jne 0x41032b
mov dword [ebx + 0xfa14], 0
mov dword [ebx + 0xfa18], 0
mov dword [ebx + 0xfa1c], 0
mov dword [ebx + 0xfa20], 0
mov dword [ebx + 0xfa24], 0
mov dword [ebx + 0xfa28], 0
mov dword [ebx + 0xfa2c], 0
mov dword [ebx + 0xfa30], 0
mov dword [ebx + 0xfa34], 0
mov dword [ebx + 0xfa38], 0
mov dword [ebx + 0xfa3c], 0
mov dword [ebx + 0xfa40], 0
mov dword [ebx + 0xfa44], 0
mov dword [ebx + 0xfa48], 0
mov dword [ebx + 0xfa4c], 0
mov dword [ebx + 0xfa50], 0
mov dword [ebx + 0xfa54], 0
mov dword [ebx + 0xfa58], 0
mov dword [ebx + 0xfa5c], 0
mov dword [ebx + 0xfa60], 0
mov dword [ebx + 0xfa64], 0
mov dword [ebx + 0xfa68], 0
mov dword [ebx + 0xfa6c], 0
mov dword [ebx + 0xfa70], 0
mov ecx, dword [ebx + 0xfa14]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebx + 0xfa18]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebx + 0xfa1c]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx + 0xfa20]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 0xfa24]
mov dword [esp + 0x44], ecx
mov ecx, dword [ebx + 0xfa28]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx + 0xfa2c]
mov dword [esp + 0x58], ecx
mov ecx, dword [ebx + 0xfa38]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebx + 0xfa3c]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebx + 0xfa40]
mov edx, dword [ebx + 0xfa30]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebx + 0xfa44]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0xfa48]
mov ebp, dword [ebx + 0xfa54]
mov dword [esp + 0x64], ecx
mov ecx, dword [ebx + 0xfa4c]
mov dword [esp + 0x38], ecx
mov ecx, dword [ebx + 0xfa50]
mov dword [esp + 0x7c], ecx
mov ecx, dword [ebx + 0xfa58]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx + 0xfa5c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [ebx + 0xfa60]
mov dword [esp + 0x70], ecx
mov ecx, dword [ebx + 0xfa64]
mov dword [esp + 0x28], edx
mov edx, dword [ebx + 0xfa34]
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebx + 0xfa68]
mov dword [esp + 0x18], edx
mov edx, dword [ebx + 0xfa70]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 0xfa6c]
add eax, 0xfffffff6
xor esi, esi
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], edx
cmp eax, 0x28
ja case.default.0x410429
jmp dword [eax*4 + 0x4123a8]
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0xa
jge 0x41047b
lea ecx, [ecx]
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410475
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410440
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x42
je case.0x410429.11
mov esi, 0xfffffffb
jmp 0x41229f
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0xb
jge 0x4104eb
mov edi, edi
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x4104e5
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x4104b0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x5a
jne 0x410497
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0xc
jge 0x41054f
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410549
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410514
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x68
jne 0x410497
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0xd
jge 0x4105bb
lea esp, [esp]
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x4105b5
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410580
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
mov dword [ebx + 0x24], edx
cmp edx, 0x31
jl 0x410497
cmp edx, 0x39
jg 0x410497
add edx, 0xffffffd0
cmp byte [ebx + 0x28], 0
mov dword [ebx + 0x24], edx
mov eax, dword [edi + 0x24]
push 1
je 0x410640
imul edx, edx, 0x30d40
push edx
push dword [edi + 0x2c]
call eax
mov dword [ebx + 0xc50], eax
mov eax, dword [ebx + 0x24]
imul eax, eax, 0x186a0
inc eax
sar eax, 1
push 1
push eax
push dword [edi + 0x2c]
mov eax, dword [edi + 0x24]
call eax
add esp, 0x18
mov dword [ebx + 0xc54], eax
cmp dword [ebx + 0xc50], esi
je 0x410636
test eax, eax
jne case.0x410429.14
mov esi, 0xfffffffd
jmp 0x41229f
imul edx, edx, 0x61a80
push edx
push dword [edi + 0x2c]
call eax
add esp, 0xc
mov dword [ebx + 0xc4c], eax
test eax, eax
jne case.0x410429.14
lea esi, [eax - 3]
jmp 0x41229f
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0xe
jge 0x4106ab
mov edi, edi
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x4106a5
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410670
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x17
je case.0x410429.42
cmp dl, 0x31
je case.0x410429.15
mov esi, 0xfffffffc
jmp 0x41229f
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0xf
jge 0x41072b
jmp 0x4106f0
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410725
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x4106f0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x41
jne 0x4106d0
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x10
jge 0x41078f
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410789
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410754
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x59
jne 0x4106d0
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x11
jge 0x4107fb
lea esp, [esp]
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x4107f5
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x4107c0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x26
jne 0x4106d0
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x12
jge 0x41086b
jmp 0x410830
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410865
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410830
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x53
jne 0x4106d0
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x13
jge 0x4108db
jmp 0x4108a0
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x4108d5
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x4108a0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x59
jne 0x4106d0
inc dword [ebx + 0x2c]
cmp dword [ebx + 0x30], 2
jl 0x41091d
push dword [ebx + 0x2c]
push 0x55f3e8
call fcn.0052ea6c
add eax, 0x40
push eax
call fcn.0052edd8
add esp, 0xc
mov dword [ebx + 0xc58], esi
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x14
jge 0x41096b
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410965
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410930
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0xc58]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc58], ecx
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x15
jge 0x4109de
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x4109d8
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x4109a3
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0xc58]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc58], ecx
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x16
jge 0x410a5b
jmp 0x410a20
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410a55
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410a20
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0xc58]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc58], ecx
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x17
jge 0x410ace
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410ac8
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410a93
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0xc58]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc58], ecx
cmp dword [ebx + 0x20], 1
mov dword [ebx + 4], 0x18
jge 0x410b4b
jmp 0x410b10
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410b45
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 1
jl 0x410b10
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 1]
shr edx, cl
mov dword [ebx + 0x34], esi
and edx, 1
dec eax
mov dword [ebx + 0x20], eax
mov byte [ebx + 0x10], dl
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x19
jge 0x410bab
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410ba5
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410b70
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0x34]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x34], ecx
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x1a
jge 0x410c1b
lea ecx, [ecx]
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410c15
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410be0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0x34]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x34], ecx
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x1b
jge 0x410c8b
lea ecx, [ecx]
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410c85
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x410c50
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0x34]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x34], ecx
jl 0x4106d0
mov eax, dword [ebx + 0x24]
imul eax, eax, 0x186a0
add eax, 0xa
cmp ecx, eax
jg 0x4106d0
xor edx, edx
jmp 0x410d3f
cmp dword [ebx + 0x20], 1
mov dword [ebx + 4], 0x1c
jge 0x410d1b
jmp 0x410ce0
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410d15
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 1
jl 0x410ce0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 1]
shr edx, cl
dec eax
mov dword [ebx + 0x20], eax
and edx, 1
cmp dl, 1
mov edx, dword [esp + 0x10]
sete al
mov byte [ebx + edx + 0xd6c], al
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x10
jl case.0x410429.28
xor eax, eax
lea edi, [ebx + 0xc6c]
mov ecx, 0x40
rep stosd dword es:[edi], eax
xor edx, edx
jmp 0x410dec
cmp dword [ebx + 0x20], 1
mov dword [ebx + 4], 0x1d
jge 0x410dab
jmp 0x410d70
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410da5
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 1
jl 0x410d70
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 1]
shr edx, cl
dec eax
mov dword [ebx + 0x20], eax
and edx, 1
cmp dl, 1
mov edx, dword [esp + 0x10]
jne 0x410dd9
mov ecx, dword [esp + 0x24]
mov eax, edx
shl eax, 4
add eax, ebx
mov byte [eax + ecx + 0xc6c], 1
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, 0x10
jl case.0x410429.29
inc edx
mov dword [esp + 0x10], edx
cmp edx, 0x10
jge 0x410e03
cmp byte [ebx + edx + 0xd6c], 0
je 0x410deb
xor eax, eax
jmp 0x410dde
push ebx
call fcn.00412450
mov eax, dword [ebx + 0xc68]
add esp, 4
test eax, eax
je 0x4106d0
add eax, 2
mov dword [esp + 0x50], eax
cmp dword [ebx + 0x20], 3
mov dword [ebx + 4], 0x1e
jge 0x410e6b
mov edi, edi
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410e65
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 3
jl 0x410e30
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 3]
shr edx, cl
add eax, 0xfffffffd
mov dword [ebx + 0x20], eax
and edx, 7
mov dword [esp + 0x44], edx
cmp edx, 2
jl 0x4106d0
cmp edx, 6
jg 0x4106d0
cmp dword [ebx + 0x20], 0xf
mov dword [ebx + 4], 0x1f
jge 0x410edd
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x410ed7
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 0xf
jl 0x410ea2
mov eax, dword [ebx + 0x20]
mov ebp, dword [ebx + 0x1c]
lea ecx, [eax - 0xf]
shr ebp, cl
add eax, 0xfffffff1
mov dword [ebx + 0x20], eax
and ebp, 0x7fff
mov dword [esp + 0x54], ebp
cmp ebp, 1
jl 0x4106d0
mov esi, dword [esp + 0x44]
xor edx, edx
jmp 0x410f83
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x44]
cmp dword [ebx + 0x20], 1
mov dword [ebx + 4], 0x20
jge 0x410f5d
mov edi, edi
mov edx, dword [ebx]
cmp dword [edx + 4], 0
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x410f57
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 1
jl 0x410f20
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 1]
shr edx, cl
dec eax
mov dword [ebx + 0x20], eax
and edx, 1
test dl, dl
jne 0x410f98
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov byte [ebx + edx + 0x650e], cl
inc edx
mov dword [esp + 0x10], edx
cmp edx, ebp
jge 0x410fb3
mov dword [esp + 0x24], 0
jmp 0x410f11
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
cmp eax, esi
jl 0x410f11
mov esi, 0xfffffffc
jmp 0x41229f
mov edi, dword [esp + 0x44]
xor al, al
test edi, edi
jle 0x410fd0
xor ecx, ecx
nop
mov byte [esp + ecx + 0x80], al
add al, 1
movzx ecx, al
cmp ecx, edi
jl 0x410fc0
xor edx, edx
mov dword [esp + 0x10], edx
test ebp, ebp
jle 0x411028
lea ebx, [ebx]
mov dl, byte [ebx + edx + 0x650e]
movzx eax, dl
lea ecx, [esp + 0x80]
add ecx, eax
mov ah, byte [ecx]
test dl, dl
je 0x41100d
lea esp, [esp]
mov al, byte [ecx - 1]
mov byte [ecx], al
lea ecx, [ecx - 1]
add dl, 0xff
jne 0x411000
mov edx, dword [esp + 0x10]
inc edx
mov byte [ebx + edx + 0x1ebb], ah
mov byte [esp + 0x80], ah
mov dword [esp + 0x10], edx
cmp edx, ebp
jl 0x410fe0
mov esi, dword [esp + 0x50]
xor ebp, ebp
jmp 0x4111e0
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x50]
cmp dword [ebx + 0x20], 5
mov dword [ebx + 4], 0x21
jge 0x41108d
jmp 0x411050
mov edx, dword [ebx]
cmp dword [edx + 4], 0
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x411087
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 5
jl 0x411050
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 5]
shr edx, cl
add eax, 0xfffffffb
mov dword [ebx + 0x20], eax
mov ecx, edx
and ecx, 0x1f
mov dword [esp + 0x38], edx
mov dword [esp + 0x38], ecx
xor edx, edx
mov dword [esp + 0x10], edx
cmp edx, esi
jge 0x4111db
cmp ecx, 1
jl 0x4106d0
cmp ecx, 0x14
jg 0x4106d0
jmp 0x4110d1
mov esi, dword [esp + 0x50]
cmp dword [ebx + 0x20], 1
mov dword [ebx + 4], 0x22
jge 0x41111d
mov edi, edi
mov edx, dword [ebx]
cmp dword [edx + 4], 0
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x411117
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 1
jl 0x4110e0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 1]
shr edx, cl
dec eax
mov dword [ebx + 0x20], eax
and edx, 1
test dl, dl
jne 0x41115a
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov eax, ebp
imul eax, eax, 0x102
add eax, ebx
inc edx
mov byte [eax + edx + 0xab5f], cl
jmp 0x4110ad
mov esi, dword [esp + 0x50]
cmp dword [ebx + 0x20], 1
mov dword [ebx + 4], 0x23
jge 0x4111ad
jmp 0x411170
mov edx, dword [ebx]
cmp dword [edx + 4], 0
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x4111a7
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 1
jl 0x411170
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 1]
shr edx, cl
mov ecx, dword [esp + 0x38]
dec eax
mov dword [ebx + 0x20], eax
and edx, 1
test dl, dl
jne 0x4111d1
inc ecx
mov dword [esp + 0x38], ecx
jmp 0x4110b9
dec ecx
mov dword [esp + 0x38], ecx
jmp 0x4110b9
mov edi, dword [esp + 0x44]
inc ebp
mov dword [esp + 0x40], ebp
cmp ebp, edi
jl 0x41103b
mov dword [esp + 0x40], 0
test edi, edi
jle 0x411282
lea eax, [ebx + 0xf9fc]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x44]
lea ebp, [ebx + 0xc99c]
lea edi, [ebx + 0xab60]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
xor ecx, ecx
xor edx, edx
mov esi, 0x20
test ebx, ebx
jle 0x411243
nop
movzx eax, byte [edi + edx]
cmp eax, ecx
cmovg ecx, eax
cmp eax, esi
cmovl esi, eax
inc edx
cmp edx, ebx
jl 0x411230
push ebx
push ecx
push esi
push edi
lea eax, [ebp + 0x1830]
push eax
lea eax, [ebp - 0x1830]
push ebp
push eax
call fcn.00412490
mov eax, dword [esp + 0x74]
add eax, 4
mov dword [eax - 4], esi
add esp, 0x1c
add edi, 0x102
add ebp, 0x408
dec dword [esp + 0x28]
mov dword [esp + 0x58], eax
jne 0x411222
mov ebx, dword [esp + 0x60]
mov eax, dword [ebx + 0xc68]
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x24]
imul eax, eax, 0x186a0
mov dword [esp + 0x34], eax
xor ebp, ebp
xor eax, eax
lea edi, [ebx + 0x40]
mov ecx, 0x100
rep stosd dword es:[edi], eax
mov eax, 0xf
mov dword [esp + 0x10], 0x100
mov edx, 0xfff
mov dword [esp + 0x28], eax
lea esi, [ebx + 0x1eb8]
mov ah, al
mov ecx, 0xf
shl ah, 4
mov edi, edi
mov al, cl
add al, ah
mov byte [edx + ebx + 0xe7c], al
dec edx
dec ecx
jns 0x4112d0
lea eax, [edx + 1]
mov dword [esi], eax
mov eax, dword [esp + 0x28]
dec eax
sub esi, 4
mov dword [esp + 0x28], eax
test eax, eax
jns 0x4112c4
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], ebp
cmp dword [esp + 0x54], ebp
jg 0x41130c
mov esi, 0xfffffffc
jmp 0x4122a3
movzx edx, byte [ebx + 0x1ebc]
mov eax, edx
mov ecx, dword [ebx + edx*4 + 0xf9fc]
imul eax, eax, 0x408
mov dword [esp + 0x70], edx
lea edi, [ebx + 0xb16c]
add edi, eax
lea edx, [ebx + 0xe1cc]
add edx, eax
add eax, 0xc99c
add eax, ebx
mov ebp, ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], 0x31
mov dword [esp + 0x4c], ebp
jmp 0x411361
mov edi, dword [esp + 0x14]
mov dword [ebx + 4], 0x24
cmp dword [ebx + 0x20], ebp
jge 0x4113a8
lea ecx, [ecx]
mov edx, dword [ebx]
cmp dword [edx + 4], 0
je 0x4113c5
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x4113a3
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], ebp
jl 0x411370
mov edx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x1c]
sub edx, ebp
mov ecx, edx
shr esi, cl
mov eax, 1
mov ecx, ebp
shl eax, cl
mov dword [ebx + 0x20], edx
dec eax
and esi, eax
jmp 0x411438
mov ebp, dword [esp + 0x18]
xor esi, esi
jmp 0x4122a7
mov esi, dword [esp + 0x2c]
cmp dword [ebx + 0x20], 1
mov dword [ebx + 4], 0x25
jge 0x41141e
mov edx, dword [ebx]
cmp dword [edx + 4], 0
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x411418
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 1
jl 0x4113e1
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 1]
shr edx, cl
dec eax
add esi, esi
mov dword [ebx + 0x20], eax
and edx, 1
mov dword [esp + 0x6c], edx
or esi, edx
mov dword [esp + 0x2c], esi
cmp ebp, 0x14
jg 0x4106d0
mov ecx, dword [esp + 0x14]
cmp esi, dword [ecx + ebp*4]
jle 0x41155c
inc ebp
mov dword [esp + 0x4c], ebp
jmp 0x4113d4
mov dword [ebx + 4], 0x28
cmp dword [ebx + 0x20], ebp
jge 0x4114ac
jmp 0x411470
mov edx, dword [ebx]
cmp dword [edx + 4], 0
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x4114a7
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], ebp
jl 0x411470
mov edx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x1c]
sub edx, ebp
mov ecx, edx
shr esi, cl
mov eax, 1
mov ecx, ebp
shl eax, cl
mov dword [ebx + 0x20], edx
dec eax
and esi, eax
mov dword [esp + 0x2c], esi
cmp ebp, 0x14
jg 0x4106d0
mov ecx, dword [esp + 0x14]
cmp esi, dword [ecx + ebp*4]
jle 0x41155c
inc ebp
mov dword [esp + 0x4c], ebp
jmp 0x4114ec
mov esi, dword [esp + 0x2c]
cmp dword [ebx + 0x20], 1
mov dword [ebx + 4], 0x29
jge 0x41153d
lea esp, [esp]
mov edx, dword [ebx]
cmp dword [edx + 4], 0
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x411537
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 1
jl 0x411500
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 1]
shr edx, cl
dec eax
add esi, esi
mov dword [ebx + 0x20], eax
and edx, 1
mov dword [esp + 0x6c], edx
or esi, edx
jmp 0x4114c7
mov ecx, dword [esp + 0x3c]
mov eax, esi
sub eax, dword [ecx + ebp*4]
js 0x4106d0
cmp eax, 0x102
jge 0x4106d0
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x20]
mov ebp, dword [ebp + eax*4]
mov dword [esp + 0x68], ebp
mov edx, dword [esp + 0x34]
cmp ebp, dword [esp + 0x58]
je 0x411aa3
test ebp, ebp
je 0x4115a1
cmp ebp, 1
jne 0x411814
or edi, 0xffffffff
mov dword [esp + 0x30], edi
lea edx, [edi + 2]
jmp 0x4115b1
mov edx, dword [esp + 0x64]
test ebp, ebp
jne 0x4115b9
add edi, edx
jmp 0x4115c1
cmp ebp, 1
jne 0x4115c5
lea edi, [edi + edx*2]
mov dword [esp + 0x30], edi
mov esi, dword [esp + 0x18]
add edx, edx
mov dword [esp + 0x64], edx
test esi, esi
jne 0x41162e
mov edx, dword [esp + 0x28]
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [esp + 0x54]
jge 0x4106d0
movzx edx, byte [ebx + edx + 0x1ebc]
lea ecx, [ebx + 0xb16c]
mov eax, dword [ebx + edx*4 + 0xf9fc]
mov dword [esp + 0x5c], eax
mov eax, edx
imul eax, eax, 0x408
add ecx, eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x14], ecx
lea edx, [ebx + 0xe1cc]
add edx, eax
lea ecx, [ebx + 0xc99c]
add ecx, eax
mov esi, 0x32
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], ecx
mov ebp, dword [esp + 0x5c]
dec esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x4c], ebp
mov dword [ebx + 4], 0x26
cmp dword [ebx + 0x20], ebp
jge 0x41168c
jmp 0x411650
mov edx, dword [ebx]
cmp dword [edx + 4], 0
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x411687
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], ebp
jl 0x411650
mov edx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x1c]
sub edx, ebp
mov ecx, edx
shr esi, cl
mov eax, 1
mov ecx, ebp
shl eax, cl
mov dword [ebx + 0x20], edx
dec eax
and esi, eax
mov dword [esp + 0x2c], esi
cmp ebp, 0x14
jg 0x4106d0
mov ecx, dword [esp + 0x14]
cmp esi, dword [ecx + ebp*4]
jle 0x41173c
inc ebp
mov dword [esp + 0x4c], ebp
jmp 0x4116cc
mov esi, dword [esp + 0x2c]
cmp dword [ebx + 0x20], 1
mov dword [ebx + 4], 0x27
jge 0x41171d
lea esp, [esp]
mov edx, dword [ebx]
cmp dword [edx + 4], 0
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], 0
jne 0x411717
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 1
jl 0x4116e0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 1]
shr edx, cl
dec eax
add esi, esi
mov dword [ebx + 0x20], eax
and edx, 1
mov dword [esp + 0x6c], edx
or esi, edx
jmp 0x4116a7
mov ecx, dword [esp + 0x3c]
mov eax, esi
sub eax, dword [ecx + ebp*4]
js 0x4106d0
cmp eax, 0x102
jge 0x4106d0
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x30]
mov ebp, dword [ecx + eax*4]
mov dword [esp + 0x68], ebp
test ebp, ebp
je 0x4115ad
cmp ebp, 1
je 0x4115ad
mov eax, dword [ebx + 0x1e7c]
mov esi, dword [esp + 0x20]
movzx eax, byte [eax + ebx + 0xe7c]
inc edi
mov dl, byte [eax + ebx + 0xd7c]
movzx ecx, dl
mov dword [esp + 0x30], edi
add dword [ebx + ecx*4 + 0x40], edi
cmp byte [ebx + 0x28], 0
je 0x4117da
test edi, edi
jle 0x411586
lea esp, [esp]
cmp esi, dword [esp + 0x34]
jge 0x4106d0
mov eax, dword [ebx + 0xc50]
movzx ecx, dl
dec edi
mov word [eax + esi*2], cx
inc esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], edi
test edi, edi
jg 0x4117b0
jmp 0x411586
mov edx, dword [esp + 0x34]
test edi, edi
jle 0x41158a
mov esi, dword [esp + 0x20]
lea ebx, [ebx]
cmp esi, edx
jge 0x4106d0
mov eax, dword [ebx + 0xc4c]
dec edi
mov dword [eax + esi*4], ecx
inc esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], edi
test edi, edi
jg 0x4117f0
jmp 0x41158a
cmp esi, edx
jge 0x4106d0
lea edx, [ebp - 1]
cmp edx, 0x10
jae 0x4118fb
mov esi, dword [ebx + 0x1e7c]
mov dword [esp + 0x80], esi
lea eax, [esi + edx]
mov cl, byte [eax + ebx + 0xe7c]
mov byte [esp + 0x1f], cl
cmp edx, 3
jbe 0x4118d3
lea ecx, [ebx + 0xe7b]
mov edi, ebx
lea esi, [ecx + eax]
mov eax, ebx
sub eax, ecx
add eax, 0xe78
mov dword [esp + 0x74], eax
mov ebp, ebx
mov eax, ebx
mov ebx, dword [esp + 0x74]
sub eax, ecx
sub edi, ecx
sub ebp, ecx
lea ecx, [edx - 4]
add eax, 0xe79
shr ecx, 2
mov dword [esp + 0x78], eax
inc ecx
jmp 0x411890
mov al, byte [esi]
mov byte [edi + esi + 0xe7c], al
mov al, byte [esi + ebp + 0xe7a]
mov byte [esi], al
mov eax, dword [esp + 0x78]
sub edx, 4
mov al, byte [eax + esi]
mov byte [esi + ebp + 0xe7a], al
mov al, byte [ebx + esi]
mov ebx, dword [esp + 0x78]
lea esi, [esi - 4]
mov byte [ebx + esi + 4], al
mov ebx, dword [esp + 0x74]
dec ecx
jne 0x411890
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x80]
test edx, edx
je 0x4118eb
lea eax, [esi + edx]
lea ecx, [ebx + 0xe7c]
add ecx, eax
mov al, byte [ecx - 1]
mov byte [ecx], al
dec ecx
dec edx
jne 0x4118e2
mov cl, byte [esp + 0x1f]
mov byte [esi + ebx + 0xe7c], cl
jmp 0x4119f4
mov edi, edx
shr edi, 4
and edx, 0xf
lea esi, [edi + 0x79f]
add edx, dword [ebx + esi*4]
lea esi, [ebx + esi*4]
mov cl, byte [edx + ebx + 0xe7c]
mov byte [esp + 0x1f], cl
cmp edx, dword [esi]
jle 0x411933
mov edi, edi
mov al, byte [edx + ebx + 0xe7b]
mov byte [edx + ebx + 0xe7c], al
dec edx
cmp edx, dword [esi]
jg 0x411920
inc dword [esi]
test edi, edi
jle 0x411961
lea esp, [esp]
dec dword [esi]
mov eax, dword [esi - 4]
mov ecx, dword [esi]
mov al, byte [eax + ebx + 0xe8b]
dec edi
mov byte [ecx + ebx + 0xe7c], al
lea esi, [esi - 4]
test edi, edi
jg 0x411940
mov cl, byte [esp + 0x1f]
dec dword [ebx + 0x1e7c]
mov eax, dword [ebx + 0x1e7c]
mov byte [eax + ebx + 0xe7c], cl
cmp dword [ebx + 0x1e7c], 0
jne 0x4119f4
mov edx, 0xfff
mov edi, 0xf
lea esi, [ebx + 0x1eb8]
lea ecx, [ecx]
mov ecx, 0xf
mov eax, dword [esi]
add eax, ebx
sub edx, 4
mov al, byte [eax + ecx + 0xe7c]
mov byte [ebx + edx + 0xe80], al
mov eax, dword [esi]
add eax, ebx
mov al, byte [eax + ecx + 0xe7b]
mov byte [ebx + edx + 0xe7f], al
mov eax, dword [esi]
add eax, ebx
mov al, byte [eax + ecx + 0xe7a]
mov byte [ebx + edx + 0xe7e], al
mov eax, dword [esi]
add eax, ebx
sub ecx, 4
mov al, byte [eax + ecx + 0xe7d]
mov byte [ebx + edx + 0xe7d], al
jns 0x411995
lea eax, [edx + 1]
mov dword [esi], eax
sub esi, 4
dec edi
jns 0x411990
mov cl, byte [esp + 0x1f]
mov edx, dword [esp + 0x20]
movzx ecx, cl
movzx eax, byte [ecx + ebx + 0xd7c]
inc dword [ebx + eax*4 + 0x40]
cmp byte [ebx + 0x28], 0
movzx ecx, byte [ecx + ebx + 0xd7c]
je 0x411a21
mov eax, dword [ebx + 0xc50]
mov word [eax + edx*2], cx
jmp 0x411a2a
mov eax, dword [ebx + 0xc4c]
mov dword [eax + edx*4], ecx
mov esi, dword [esp + 0x18]
inc dword [esp + 0x20]
test esi, esi
jne 0x411a91
mov edx, dword [esp + 0x28]
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [esp + 0x54]
jge 0x4106d0
movzx edx, byte [ebx + edx + 0x1ebc]
lea ecx, [ebx + 0xb16c]
mov eax, dword [ebx + edx*4 + 0xf9fc]
mov dword [esp + 0x5c], eax
mov eax, edx
imul eax, eax, 0x408
add ecx, eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x14], ecx
lea edx, [ebx + 0xe1cc]
add edx, eax
lea ecx, [ebx + 0xc99c]
add ecx, eax
mov esi, 0x32
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], ecx
mov ebp, dword [esp + 0x5c]
dec esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x4c], ebp
jmp case.0x410429.40
mov eax, dword [ebx + 0x34]
test eax, eax
js 0x4106d0
cmp eax, esi
jge 0x4106d0
lea ebp, [ebx + 0x444]
lea edx, [ebx + 0x448]
lea esi, [ebx + 0x40]
mov ecx, 0x100
mov edi, edx
mov dword [ebp], 0
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x100
lea ebx, [ebx]
mov eax, dword [edx - 4]
add dword [edx], eax
lea edx, [edx + 4]
dec ecx
jne 0x411ae0
mov esi, dword [esp + 0x20]
xor edx, edx
mov eax, ebp
mov ecx, dword [eax]
test ecx, ecx
js 0x411e54
cmp ecx, esi
jg 0x411e54
inc edx
add eax, 4
cmp edx, 0x100
jle 0x411af3
cmp dword [ebx + 0x30], 2
mov dword [ebx + 0xc], 0
mov byte [ebx + 8], 0
mov dword [ebx + 0xc60], 0xffffffff
mov dword [ebx + 4], 2
jl 0x411b49
push str.rtrld
call fcn.0052ea6c
add eax, 0x40
push eax
call fcn.0052edd8
add esp, 8
cmp byte [ebx + 0x28], 0
je 0x411d7b
lea edi, [ebx + 0x848]
mov ecx, 0x101
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x60], edx
test edi, edi
jle 0x411bd1
mov eax, dword [ebx + 0xc50]
movzx esi, byte [eax + edx*2]
lea ecx, [eax + edx*2]
add esi, 0x212
mov ax, word [ebx + esi*4]
lea esi, [ebx + esi*4]
mov word [ecx], ax
test dl, 1
jne 0x411ba7
mov ecx, edx
sar ecx, 1
add ecx, dword [ebx + 0xc54]
mov al, byte [ecx]
and al, 0xf0
or al, byte [esi + 2]
mov byte [ecx], al
jmp 0x411bc6
mov ecx, dword [esi]
mov eax, dword [esi]
sar edx, 1
add edx, dword [ebx + 0xc54]
sar ecx, 0xc
sar eax, 0xc
xor cl, byte [edx]
and cl, 0xf
xor cl, al
mov byte [edx], cl
mov edx, dword [esp + 0x60]
inc dword [esi]
inc edx
mov dword [esp + 0x60], edx
cmp edx, edi
jl 0x411b70
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 0xc54]
mov ecx, edx
sar ecx, 1
mov dword [esp + 0x10], edx
movzx eax, byte [ecx + eax]
mov cl, dl
and cl, 1
shl cl, 2
shr eax, cl
mov dword [esp + 0x24], eax
mov ecx, eax
mov eax, dword [ebx + 0xc50]
and ecx, 0xf
movzx eax, word [eax + edx*2]
shl ecx, 0x10
or ecx, eax
mov dword [esp + 0x24], ecx
lea esp, [esp]
mov eax, dword [ebx + 0xc50]
mov edi, ecx
lea edx, [eax + ecx*2]
mov eax, dword [ebx + 0xc54]
sar edi, 1
and cl, 1
movzx esi, byte [edi + eax]
movzx eax, word [edx]
shl cl, 2
shr esi, cl
mov ecx, dword [esp + 0x24]
and esi, 0xf
shl esi, 0x10
or esi, eax
mov eax, dword [esp + 0x10]
mov word [edx], ax
test cl, 1
mov ecx, dword [ebx + 0xc54]
mov edx, eax
jne 0x411c61
mov al, byte [ecx + edi]
sar edx, 0x10
and al, 0xf0
or dl, al
mov byte [ecx + edi], dl
jmp 0x411c73
mov eax, edx
sar eax, 0xc
xor al, byte [ecx + edi]
sar edx, 0xc
and al, 0xf
xor al, dl
mov byte [ecx + edi], al
mov eax, dword [esp + 0x24]
mov ecx, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], ecx
cmp eax, dword [ebx + 0x34]
jne 0x411c10
cmp byte [ebx + 0x10], 0
mov eax, dword [ebx + 0x34]
push ebp
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x440], 0
push eax
je 0x411d31
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0
call fcn.0040f680
mov ecx, dword [ebx + 0x38]
shr ecx, 1
mov esi, eax
mov eax, dword [ebx + 0xc54]
mov dword [ebx + 0x3c], esi
movzx edx, byte [ecx + eax]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ebx + 0xc50]
and cl, 1
shl cl, 2
shr edx, cl
mov ecx, dword [ebx + 0x38]
add esp, 8
movzx eax, word [eax + ecx*2]
inc dword [ebx + 0x440]
and edx, 0xf
shl edx, 0x10
or edx, eax
cmp dword [ebx + 0x14], 0
mov dword [ebx + 0x38], edx
jne 0x411d19
mov ecx, dword [ebx + 0x18]
inc ecx
mov eax, dword [ecx*4 + 0x5b003c]
mov dword [ebx + 0x14], eax
xor edx, edx
mov eax, ecx
cmp ecx, 0x200
cmove eax, edx
mov dword [ebx + 0x18], eax
dec dword [ebx + 0x14]
xor eax, eax
cmp dword [ebx + 0x14], 1
sete al
xor eax, esi
mov dword [ebx + 0x3c], eax
xor esi, esi
jmp 0x41229f
call fcn.0040f680
mov ecx, dword [ebx + 0x38]
shr ecx, 1
mov dword [ebx + 0x3c], eax
mov eax, dword [ebx + 0xc54]
add esp, 8
movzx edx, byte [ecx + eax]
mov ecx, dword [ebx + 0x38]
mov eax, dword [ebx + 0xc50]
and cl, 1
shl cl, 2
shr edx, cl
mov ecx, dword [ebx + 0x38]
movzx eax, word [eax + ecx*2]
inc dword [ebx + 0x440]
and edx, 0xf
shl edx, 0x10
or edx, eax
mov dword [ebx + 0x38], edx
xor esi, esi
jmp 0x41229f
xor eax, eax
mov dword [esp + 0x10], eax
test esi, esi
jle 0x411dc4
jmp 0x411d90
mov ecx, dword [ebx + 0xc4c]
mov al, byte [ecx + eax*4]
movzx eax, al
lea edx, [ebx + eax*4]
mov eax, dword [edx + 0x444]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x10]
shl eax, 8
or dword [ecx], eax
mov eax, dword [esp + 0x10]
inc dword [edx + 0x444]
inc eax
mov dword [esp + 0x10], eax
cmp eax, esi
jl 0x411d90
mov ecx, dword [ebx + 0xc4c]
mov eax, dword [ebx + 0x34]
mov eax, dword [ecx + eax*4]
shr eax, 8
cmp byte [ebx + 0x10], 0
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x440], 0
je 0x411e33
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0
mov eax, dword [ecx + eax*4]
mov dword [ebx + 0x38], eax
shr dword [ebx + 0x38], 8
movzx eax, al
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x440], 1
mov eax, dword [0x5b0040]
mov dword [ebx + 0x14], eax
dec dword [ebx + 0x14]
xor eax, eax
cmp dword [ebx + 0x14], 1
mov dword [ebx + 0x18], 1
sete al
xor dword [ebx + 0x3c], eax
xor esi, esi
jmp 0x41229f
mov eax, dword [ecx + eax*4]
mov dword [ebx + 0x38], eax
shr dword [ebx + 0x38], 8
movzx eax, al
mov dword [ebx + 0x440], 1
mov dword [ebx + 0x3c], eax
xor esi, esi
jmp 0x41229f
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, 0xfffffffc
jmp 0x4122ab
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x2a
jge 0x411eaa
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x411ea4
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x411e73
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x72
jne 0x4106d0
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x2b
jge 0x411f1b
jmp 0x411ee0
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x411f15
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x411ee0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x45
jne 0x4106d0
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x2c
jge 0x411f8b
jmp 0x411f50
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x411f85
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x411f50
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x38
jne 0x4106d0
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x2d
jge 0x411ffb
jmp 0x411fc0
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x411ff5
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x411fc0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x50
jne 0x4106d0
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x2e
jge 0x41206b
jmp 0x412030
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x412065
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x412030
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
cmp dl, 0x90
jne 0x4106d0
mov dword [ebx + 0xc5c], esi
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x2f
jge 0x4120db
mov edi, edi
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x4120d5
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x4120a0
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0xc5c]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc5c], ecx
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x30
jge 0x41214e
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x412148
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x412113
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0xc5c]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc5c], ecx
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x31
jge 0x4121cf
jmp 0x412190
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x4121c9
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x412190
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0xc5c]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc5c], ecx
cmp dword [ebx + 0x20], 8
mov dword [ebx + 4], 0x32
jge 0x41224f
jmp 0x412210
mov edx, dword [ebx]
cmp dword [edx + 4], esi
je 0x411e4d
mov eax, dword [edx]
mov ecx, dword [ebx + 0x1c]
movzx eax, byte [eax]
add dword [ebx + 0x20], 8
shl ecx, 8
or ecx, eax
mov dword [ebx + 0x1c], ecx
inc dword [edx]
mov eax, dword [ebx]
dec dword [eax + 4]
mov eax, dword [ebx]
inc dword [eax + 8]
mov eax, dword [ebx]
cmp dword [eax + 8], esi
jne 0x412249
inc dword [eax + 0xc]
cmp dword [ebx + 0x20], 8
jl 0x412210
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
mov ecx, dword [ebx + 0xc5c]
add eax, 0xfffffff8
mov dword [ebx + 0x20], eax
and edx, 0xff
movzx eax, dl
shl ecx, 8
or ecx, eax
mov dword [ebx + 0xc5c], ecx
mov dword [ebx + 4], 1
mov esi, 4
jmp 0x41229f
push 0xfa1
call fcn.0040f620
push 0xfa2
call fcn.0040f620
add esp, 8
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov dword [ebx + 0xfa18], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0xfa1c], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0xfa20], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0xfa24], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0xfa28], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 0xfa2c], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0xfa30], eax
mov eax, dword [esp + 0x68]
mov dword [ebx + 0xfa38], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0xfa3c], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0xfa44], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 0xfa48], eax
mov eax, dword [esp + 0x38]
mov dword [ebx + 0xfa4c], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0xfa50], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x88]
mov dword [ebx + 0xfa54], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0xfa58], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0xfa5c], eax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0xfa60], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0xfa64], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0xfa6c], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0xfa68], edi
pop edi
mov dword [ebx + 0xfa70], eax
mov dword [ebx + 0xfa14], edx
mov edx, dword [esp + 0x1c]
mov eax, esi
pop esi
mov dword [ebx + 0xfa34], ebp
pop ebp
mov dword [ebx + 0xfa40], edx
pop ebx
xor ecx, esp
call fcn.0052c359
add esp, 0x7c
ret