Function at 0x438795
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4c57b5
call fcn.004c4f40
sub esp, 0x1bc
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x28], ecx
xor ebx, ebx
cmp dword [ecx + 0x10], ebx
jne 0x4387bf
xor al, al
jmp 0x439542
movdqa xmm0, xmmword [0xac9a20]
movdqu xmmword [ebp - 0x130], xmm0
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
push dword [ebp - 0x64]
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x130]
push eax
push ebx
lea ecx, [ebp - 0xc0]
call fcn.004366f5
mov byte [ebp - 0x46], bl
cmp byte [ebp - 0x46], bl
je 0x43880d
push ebx
call dword [0xada2d4]
mov byte [ebp - 0x49], bl
cmp byte [ebp - 0x49], bl
je 0x43881a
call fcn.00436ba9
lea ecx, [ebp - 0xc0]
call fcn.00434a65
mov eax, dword [ebp - 0x5c]
mov dword [eax], ebx
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x30], 0x1bab5934
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x18], 0x1b1b552b
mov dword [ebp - 0x24], 0x7582ba8d
mov dword [ebp - 0x1c], 0x5b627429
push 0xfffffffffffffffa
pop esi
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x100], esi
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x1c], 0x3946
cmp dword [ebp - 0x1c], 0x3cd8
jle 0x4388c5
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov ebx, edi
mov ecx, eax
shl ebx, cl
mov eax, ebx
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xad77b8
call fcn.0043487e
inc esi
cmp esi, 0x27ac
jl 0x43888e
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x5934
push 0
pop ebx
jl 0x438886
inc edi
cmp edi, 0x60b5
jl 0x438881
push 0xfffffffffffffffa
pop esi
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x1c], 0x3650
jge 0x4388e0
mov edx, 0xabfb38
mov ecx, 0xad77b8
call fcn.00436224
or dword [ebp - 4], 0xffffffff
jmp 0x438909
mov dword [ebp - 0x20], ebx
jmp 0x43891c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x6c], 0xfffffff6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x43890e
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x24]
je 0x438935
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
neg eax
sbb eax, eax
neg eax
neg eax
cmp eax, 0xfd47030f
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp eax, edx
setle cl
cmp ecx, dword [ebp - 0x30]
je 0x438964
cmp dword [ebp - 0x14], ebx
jne 0x438964
mov edx, ebx
jmp 0x438967
xor edx, edx
inc edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setg cl
imul ecx, dword [ebp - 0x2c]
dec ecx
dec ecx
mov dword [ebp - 0x30], ecx
je 0x438986
cmp dword [ebp - 0x30], ebx
je 0x438986
xor edx, edx
inc edx
jmp 0x438988
mov edx, ebx
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x6c], eax
xor ecx, ecx
cmp eax, edx
setg cl
mov eax, 0x98737a30
cmp eax, ecx
sbb ecx, ecx
neg ecx
imul ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x24]
neg edx
sbb edx, edx
inc edx
xor eax, eax
inc eax
cmp edx, eax
jb 0x438a35
mov dword [ebp - 0x1c], 0x685e
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x24], 0x16fefd52
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0x903adfe1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], 0xffffffff
push eax
lea ecx, [ebp - 0x114]
call fcn.00434993
lea edx, [ebp - 0x114]
lea ecx, [ebp - 0x90]
call fcn.00436c33
cmp dword [ebp - 0x1c], ebx
je 0x438a15
cmp dword [ebp - 0x2c], ebx
je 0x438a15
xor eax, eax
inc eax
jmp 0x438a17
mov eax, ebx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x6c], ecx
lea ecx, [ebp - 0x114]
jmp 0x438b2f
push 4
lea ecx, [ebp - 0xec]
call fcn.00434993
push 4
lea ecx, [ebp - 0x120]
call fcn.00434993
mov dword [ebp - 0x38], ebx
jmp 0x438a64
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0xec]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x438a54
mov dword [ebp - 0x38], ebx
jmp 0x438a82
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 4
jl 0x438a6f
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0x2e
je 0x438b0d
mov esi, dword [ebp - 0xec]
mov dword [ebp - 0x14], ebx
jmp 0x438aad
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc8], 0xfffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x438a9c
mov byte [ebp - 0x47], bl
lea ecx, [ebp - 0x47]
call fcn.0043713d
cmp dword [ebp - 0xc8], 0xea955042
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x6c]
add eax, ecx
xor ecx, ecx
cmp eax, dword [esi + 4]
setne cl
imul ecx, ecx, 0x3ef4
mov eax, dword [ebp - 0xc8]
xor edx, edx
cmp eax, ecx
setle dl
sub edx, dword [esi + 4]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 9
setne al
mov dword [ebp - 0x6c], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x2e
jne 0x438a97
mov eax, dword [ebp - 0x100]
xor ecx, ecx
cmp eax, 1
setg cl
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x120]
call fcn.00434a65
lea ecx, [ebp - 0xec]
call fcn.00434a65
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x14], 0x10
jb 0x438b41
mov ecx, dword [eax]
jmp 0x438b43
mov ecx, eax
mov dword [ebp - 0x60], ecx
cmp dword [eax + 0x14], 0x10
jb 0x438b50
mov edx, dword [eax]
jmp 0x438b52
mov edx, eax
mov eax, dword [eax + 0x10]
add eax, edx
cmp ecx, eax
je 0x4392e1
mov al, byte [ecx]
cmp al, 0x30
jl 0x438e6e
cmp al, 0x39
jg 0x438e6e
mov dword [ebp - 0x18], 0xd490c4d8
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x2c], 0x65f4e26c
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], 0x5ec41505
mov dword [ebp - 0x1c], 0x7bf19931
mov dword [ebp - 0x30], 0x4da7
cmp dword [ebp - 0x30], 0x5104
jle 0x438c3c
push 0x639
push 0x601
push ebx
call dword [0xada4b8]
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x14], 0x2145
mov edi, ebx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], 0x6986
mov eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x1b0]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x438bf5
mov eax, dword [eax]
push eax
call fcn.004af787
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1b0]
call fcn.00434d6f
add esi, edi
dec dword [ebp - 0x1c]
jne 0x438bdb
dec edi
cmp edi, 0xffffc922
mov esi, dword [ebp - 0x24]
jg 0x438bd1
dec esi
mov dword [ebp - 0x24], esi
dec dword [ebp - 0x14]
jne 0x438bcf
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x70ce
jl 0x438bc5
push ebx
call dword [0xada338]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x30], 0x4a7a
jge 0x438c57
push 0xabfbb8
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x438c7d
mov dword [ebp - 0x14], ebx
jmp 0x438c90
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x438c82
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x438dc0
push 3
lea ecx, [ebp - 0xf8]
call fcn.00434993
mov dword [ebp - 0x14], ebx
jmp 0x438cc7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xf8]
mov dword [eax + ecx*4], 0xcff8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x438cb4
mov dword [ebp - 0x24], 0x1f39
cmp dword [ebp - 0x24], 0x2269
jle 0x438d15
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
and eax, esi
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xad77b8
call fcn.0043487e
inc ebx
cmp ebx, 0xa4f
jl 0x438ce4
inc esi
cmp esi, 0x3b95
push 0
pop ebx
jl 0x438ce1
inc edi
cmp edi, 0x33ca
jl 0x438cdf
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x58], ebx
je 0x438d5d
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], ebx
je 0x438d49
mov eax, dword [ebp - 0xf8]
cmp dword [eax + 4], ebx
mov edx, ecx
jne 0x438d4b
mov edx, ebx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x58]
mov dword [ebp - 0x1c], eax
lea eax, [edx - 1]
cmp dword [ebp - 0x1c], eax
jne 0x438d5f
mov ecx, ebx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x24], 0x1cf7
jge 0x438d87
mov edx, 0xabfbec
mov ecx, 0xad77b8
call fcn.00436224
or dword [ebp - 4], 0xffffffff
jmp 0x438dad
lea ecx, [ebp - 0xf8]
call fcn.00434a65
dec dword [ebp - 0x18]
jmp 0x438c99
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x5c]
call fcn.00437691
mov dword [ebp - 0x1c], 0x3a56
cmp dword [ebp - 0x1c], 0x3c6f
jle 0x438e21
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
cdq
push edx
push eax
lea ecx, [ebp - 0x168]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x438dfa
mov eax, dword [eax]
push eax
call fcn.004af787
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.00434d6f
inc edi
cmp edi, 0x71c3
jl 0x438ddf
inc esi
cmp esi, 0x52f0
jl 0x438ddd
mov dword [ebp - 4], 6
cmp dword [ebp - 0x1c], 0x3813
jge 0x438e3c
push 0xabfc38
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x438e62
mov ecx, dword [ebp - 0x60]
inc ecx
mov eax, dword [ebp - 0x28]
jmp 0x438b43
mov dword [ebp - 0x20], 0x37a3a11c
push 2
lea ecx, [ebp - 0xe0]
call fcn.00434993
mov dword [ebp - 0x14], 0x7c7be021
push 3
lea ecx, [ebp - 0xd4]
call fcn.00434993
lea edx, [ebp - 0xe0]
lea ecx, [ebp - 0x44]
call fcn.00437826
mov dword [ebp - 0x2c], 0x82
cmp dword [ebp - 0x2c], 0x35f
jle 0x438f24
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], 0x7da3
mov edi, ebx
mov dword [ebp - 0x28], edi
mov esi, dword [ebp - 0x24]
mov ebx, edi
mov edi, 0x4afd
mov eax, esi
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xad77b8
call fcn.0043487e
dec ebx
dec edi
jne 0x438ed0
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x2d5b
jl 0x438ec9
mov esi, dword [ebp - 0x30]
add dword [ebp - 0x24], esi
dec dword [ebp - 0x1c]
push 0
pop ebx
jne 0x438ec1
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x7071
jl 0x438eb7
push 0x137c
push ebx
push 0x177e
push 0xdb3
call dword [0xada4a0]
mov dword [ebp - 0x44], ebx
jmp 0x438f3a
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x8c], 0xff44cacf
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 1
jl 0x438f29
mov dword [ebp - 4], 8
cmp dword [ebp - 0x2c], 0xfffffcdc
jge 0x438f5f
mov edx, 0xabfc80
mov ecx, 0xad77b8
call fcn.00436224
or dword [ebp - 4], 0xffffffff
jmp 0x438f85
lea edx, [ebp - 0xd4]
lea ecx, [ebp - 0x44]
call fcn.00437902
mov edx, dword [ebp - 0x20]
neg edx
sbb edx, edx
neg edx
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0xe0]
mov dword [esi + 4], eax
mov dword [ebp - 0x8c], eax
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp ecx, eax
setle dl
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setne cl
add ecx, dword [ebp - 0x20]
je 0x438fdb
cmp dword [esi + 4], ebx
je 0x438fdb
xor ecx, ecx
inc ecx
jmp 0x438fdd
mov ecx, ebx
neg ecx
mov eax, dword [ebp - 0xd4]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0xd4]
call fcn.00434a65
lea ecx, [ebp - 0xe0]
call fcn.00434a65
push 0x750e
lea eax, [ebp - 0x5c]
push eax
push 0xf02
push ebx
call fcn.00440c7a
add esp, 0x10
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x28], 0x6ac
cmp dword [ebp - 0x28], 0x849
jle 0x439073
mov esi, ebx
mov edi, ebx
mov eax, edi
and eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x180]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x43904c
mov eax, dword [eax]
push eax
call fcn.004af787
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x180]
call fcn.00434d6f
inc edi
cmp edi, 0x20ed
jl 0x439030
inc esi
cmp esi, 0x203d
jl 0x43902e
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x28], 0x56d
jge 0x43908e
push 0xabfcc8
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x4390b4
mov dword [ebp - 0x14], ebx
jmp 0x4390ca
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x4390b9
mov dword [ebp - 0x18], 3
cmp dword [ebp - 0x18], ebx
jl 0x4390ef
mov byte [ebp - 0x4a], bl
cmp byte [ebp - 0x4a], 0
je 0x4390ea
call fcn.00437b1a
dec dword [ebp - 0x18]
jns 0x4390dc
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x88]
xor ecx, ecx
cmp eax, 1
setl cl
mov esi, dword [ebp - 0x7c]
sub esi, ecx
mov eax, dword [ebp - 0x18]
sub esi, eax
mov eax, dword [ebp - 0x80]
xor edx, edx
cmp eax, esi
setne dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x18]
jne 0x43912f
cmp dword [ebp - 0x88], ebx
jne 0x43912f
mov eax, ebx
jmp 0x439132
xor eax, eax
inc eax
imul eax, eax, 0xfffffffa
xor ecx, ecx
cmp eax, 0x6aac
setl cl
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp dword [ebp - 0x28], eax
setge cl
cmp ecx, dword [ebp - 0x80]
jg 0x439179
mov byte [ebp - 0x48], bl
cmp byte [ebp - 0x48], 0
je 0x439195
push ebx
push ebx
call dword [0xada324]
jmp 0x439195
mov dword [ebp - 0x18], ebx
jmp 0x43918f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x88], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x43917e
mov dword [ebp - 0x14], 0x7219
cmp dword [ebp - 0x14], 0x724b
jle 0x439229
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov eax, esi
cdq
idiv edi
mov eax, edx
mov dword [ebp - 0x28], eax
mov esi, ebx
mov edi, ebx
lea ecx, [edi + esi]
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x198]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4391e1
mov eax, dword [eax]
push eax
call fcn.004af787
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x198]
call fcn.00434d6f
inc edi
cmp edi, 0x596a
mov eax, dword [ebp - 0x28]
jl 0x4391c4
inc esi
cmp esi, 0x1e7a
jl 0x4391c2
mov edi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x50b3
mov esi, dword [ebp - 0x24]
jl 0x4391b3
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x21cd
jl 0x4391ae
movdqa xmm0, xmmword [0xac99b0]
movdqu xmmword [ebp - 0x140], xmm0
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
push dword [ebp - 0x90]
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x140]
push eax
push ebx
lea ecx, [ebp - 0xa0]
call fcn.004366f5
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x14], 0x6ff0
jge 0x439286
push 0xabfd04
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x94], 7
mov dword [ebp - 0xb4], 0xa8d7d2a7
lea eax, [ebp - 0x94]
push eax
lea edx, [ebp - 0xb4]
lea ecx, [ebp - 0xa0]
call fcn.004386be
pop ecx
lea ecx, [ebp - 0xa0]
call fcn.00434a65
jmp 0x4387b8
mov dword [ebp - 0x28], 0x10f4
cmp dword [ebp - 0x28], 0x1382
jle 0x439345
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x1c8]
call fcn.004018f3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x439313
mov eax, dword [eax]
push eax
call fcn.004af787
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1c8]
call fcn.00434d6f
inc edi
cmp edi, 0x78ec
jl 0x4392f5
inc esi
cmp esi, 0x7d36
jl 0x4392f3
push 0xd2f
call dword [0xada084]
mov dword [ebp - 0x3c], 1
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x28], 0xe37
jge 0x439367
push 0xabfd30
call fcn.004af787
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x43938d
push 1
lea ecx, [ebp - 0xb0]
call fcn.00434993
mov dword [ebp - 0x28], 0xd7c3b7c3
mov dword [ebp - 0x1c], 0x32d683a7
lea edx, [ebp - 0xb0]
lea ecx, [ebp - 0xa4]
call fcn.00437c0d
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0xb0]
call fcn.00437cfc
mov dword [ebp - 0x3c], ebx
jmp 0x43952b
movdqa xmm0, xmmword [0xac9a00]
movdqu xmmword [ebp - 0x150], xmm0
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
push dword [ebp - 0xa4]
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x150]
push eax
push ebx
lea ecx, [ebp - 0x78]
call fcn.004366f5
mov dword [ebp - 0x40], 0xcbde6b78
mov dword [ebp - 0x14], ebx
jmp 0x43941f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], 0x42a1e948
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x439411
mov dword [ebp - 0x34], ebx
jmp 0x4394e2
mov dword [ebp - 0x14], ebx
jmp 0x439440
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], 0x4c90d297
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x439432
mov dword [ebp - 0x50], ebx
jmp 0x439477
mov dword [ebp - 0x64], 0xfffffffc
lea ecx, [ebp - 0x64]
call fcn.00437eb9
mov byte [ebp - 0x45], bl
cmp byte [ebp - 0x45], 0
je 0x439474
push ebx
push 0x1669
push 0x2681
call dword [0xada078]
dec dword [ebp - 0x50]
cmp dword [ebp - 0x50], 0xfffffff2
jne 0x43944b
cmp dword [ebp - 0x34], ebx
je 0x43949b
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jne 0x439490
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 1
jne 0x43949b
xor ecx, ecx
inc ecx
jmp 0x43949d
mov ecx, ebx
mov eax, dword [ebp - 0x78]
mov dword [eax], ecx
cmp ecx, 1
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x50]
xor edx, edx
cmp eax, ecx
setne dl
xor ecx, ecx
mov eax, dword [ebp - 0xb0]
cmp dword [eax], edx
setle cl
cmp ecx, 0x782e
jle 0x4394ca
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x40], eax
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 0xc
jne 0x43942d
mov dword [ebp - 0x40], ebx
jmp 0x43951a
mov edx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x40]
mov esi, dword [ebp - 0x78]
xor eax, eax
cmp dword [esi], eax
setg al
xor ecx, ecx
cmp dword [esi + edx*4], eax
setg cl
mov eax, dword [ebp - 0xb0]
imul ecx, dword [eax]
sub ecx, dword [esi]
mov dword [esi + edi*4], ecx
inc dword [ebp - 0x40]
cmp dword [ebp - 0x40], 3
jle 0x4394f1
lea ecx, [ebp - 0x78]
call fcn.00434a65
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xffffffec
jg 0x4393cf
lea ecx, [ebp - 0xb0]
call fcn.00434a65
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret