Function at 0x43fc80
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
mov dword [esp - 0x1c], esp
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
xchg esi, esi
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0xc8
mov dword [esp - 0x10], ebx
mov eax, dword [ebx + 8]
push esi
push edi
mov edi, ecx
xchg esi, esi
mov byte [ebp - 5], 0x77
xor byte [ebp - 5], 6
sub byte [ebp - 5], 0x2b
add byte [ebp - 5], 0xa
xchg edi, edi
sub byte [ebp - 5], 0xb
xor byte [ebp - 5], 0x3b
sub byte [ebp - 5], 0x7e
mov dword [eax], 0x6c8770d0
mov dword [esp - 0x28], ecx
sub dword [eax], 0xb374fd0
sub dword [eax], 0x38ab4c56
add dword [eax], 0x3c58f131
mov ecx, ecx
xor dword [eax], 0x12893b77
sub dword [eax], 0x7674feac
mov dword [ebp - 0x20], edi
cmp dword [edi + 0x38], 0
mov dword [esp - 0x30], edi
jne 0x43fd83
mov eax, dword [edi + 0x20]
and eax, 0x2000
neg eax
xchg edi, edi
push eax
pushf
mov dword [esp + 2], 0x7817041f
xchg ebp, ebp
sub dword [esp + 2], 0x75e569a
sub dword [esp + 2], 0x6156338
sub dword [esp + 2], 0x1b42377e
mov dword [esp - 0x40], 0x6f7d526e
xor dword [esp + 2], 0x1b97353e
add dword [esp + 2], 0x22b1f0a
xor dword [esp + 2], 0x572146eb
mov dword [esp - 0x14], 0x1abdbfe2
popf
sbb eax, eax
and eax, 0xfff01000
add eax, 0xffff0
mov dword [esp - 0x1c], 0x61c7506
push eax
call fcn.00490cd0
add esp, 8
mov dword [edi + 0x38], eax
mov dword [esp - 0x14], esp
mov eax, dword [0x4c0e70]
xor eax, dword [0x4c0968]
nop
mov dword [esp - 0x1c], edx
sub esp, 4
mov dword [esp], 0x3f4cc356
sub dword [esp], 0x3ae61d70
mov ebx, ebx
add dword [esp], 0xc0f23b3
xor dword [esp], 0x517e9797
xor dword [esp], 0x66f192b3
sub dword [esp], 0x27faccbd
xchg edx, edx
call eax
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x441245
mov dword [esp - 0x18], 0x1a76bce2
mov ecx, dword [0x4c0e88]
xor ecx, dword [0x4c0968]
nop
mov dword [esp - 0x38], esp
sub esp, 4
mov dword [esp], 0x2415cda9
add dword [esp], 0x2e89b7ea
sub dword [esp], 0x2877a73c
mov edx, edx
add dword [esp], 0x2879cd7f
add dword [esp], 0x27f43993
xor dword [esp], 0x21812a2d
sub dword [esp], 0x5b14cf43
xchg edx, edx
push eax
call ecx
mov ecx, dword [edi + 0x20]
mov eax, 0x1de7e21e
mov ebx, ebx
add eax, 0x419ac2e7
sub eax, 0x273facf7
add eax, 0x114b718e
xchg edi, edi
sub eax, 0x2ee4a500
xor eax, 0x1aa9c50c
test cl, 4
je 0x43fe8d
xchg ebp, ebp
mov dword [ebp - 0xc], 0x370ba611
xor dword [ebp - 0xc], 0x2fcd92c7
sub dword [ebp - 0xc], 0x5d70241
add dword [ebp - 0xc], 0x316a61a1
xchg esp, esp
add dword [ebp - 0xc], 0x4688577
sub dword [ebp - 0xc], 0x44405845
sub dword [ebp - 0xc], 0x481c104
mov dword [esp - 0x10], edx
jmp 0x43ffcc
test cl, 8
je 0x43fed2
mov dword [ebp - 0xc], 0x769dd5d5
xor dword [ebp - 0xc], 0x7373f8a1
mov dword [esp - 0x1c], 0x378d46a4
add dword [ebp - 0xc], 0x6f3e2d0
sub dword [ebp - 0xc], 0x62c7a02
add dword [ebp - 0xc], 0x8760eea
mov ecx, ecx
add dword [ebp - 0xc], 0x6df67470
sub dword [ebp - 0xc], 0x7d221870
jmp 0x43ffcc
test cl, 0x10
jne 0x43ffc5
mov dword [esp - 0x20], 0x2e1a94f2
test cl, 0x20
je 0x43ff28
mov dword [ebp - 0xc], 0x5cc81ced
sub dword [ebp - 0xc], 0x33f55358
xchg esi, esi
add dword [ebp - 0xc], 0x26a9b20
xor dword [ebp - 0xc], 0x64547ea0
xor dword [ebp - 0xc], 0x5177a3a2
sub dword [ebp - 0xc], 0x519852a
mov dword [esp - 0x34], 0x3ca6ca24
xor dword [ebp - 0xc], 0x190536d5
jmp 0x43ffcc
test cl, 0x40
je 0x43ff58
mov ebx, ebx
mov dword [ebp - 0xc], 0x22c6f0b6
sub dword [ebp - 0xc], 0xc1acddd
xor dword [ebp - 0xc], 0x62663417
sub dword [ebp - 0xc], 0x54fb1fe4
mov dword [esp - 0x1c], edx
sub dword [ebp - 0xc], 0x1fcef42e
jmp 0x43ffcc
test cl, cl
jns 0x43ff95
mov dword [ebp - 0xc], 0x5dc5918b
sub dword [ebp - 0xc], 0x588bb7f6
mov esi, esi
xor dword [ebp - 0xc], 0x39b52017
add dword [ebp - 0xc], 0x31113c6c
xor dword [ebp - 0xc], 0x32c7d1b7
mov dword [esp - 0x38], esp
xor dword [ebp - 0xc], 0x6721619d
xor dword [ebp - 0xc], 0x387886e4
jmp 0x43ffcc
test ecx, 0x100
pushf
xchg ecx, ecx
mov ecx, 0x24bf30ca
sub ecx, 0xf939b8
add ecx, 0x5719cc14
xor ecx, 0xeb4a2b0
mov dword [esp - 0xc], ebp
sub ecx, 0x746b5e12
popf
cmovne eax, ecx
mov dword [ebp - 0xc], eax
mov dword [esp - 0x38], esp
mov ecx, dword [edi + 0x1c]
lea eax, [edi + 0x18]
mov dword [ebp - 0x10], eax
xchg ecx, ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 2
jbe 0x43ffec
mov eax, dword [eax]
mov dword [esp - 0x3c], 0x4c1fe372
mov dword [ebp - 0x10], eax
lea eax, [ecx + 1]
mov ecx, 0x6639f733
sub ecx, 0x47acc307
xchg ebx, ebx
add ecx, 0xfab9d56
add ecx, 0x109266ca
sub ecx, 0x383200bb
xor ecx, 0x4197e5cb
mov dword [esp - 0x20], esp
sub ecx, 0x470ed258
mul ecx
pushf
mov ebp, ebp
mov ecx, 0x1a44037e
add ecx, 0x5976858d
sub ecx, 0x307f6f17
xor ecx, 0x13ca6629
mov dword [esp - 0xc], 0x7e79cf57
xor ecx, 0x48659a13
xor ecx, 0xe76b1a31
popf
mov ecx, ecx
cmovb eax, ecx
push eax
call fcn.00490c90
mov esi, eax
mov edi, edi
add esp, 4
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], esi
test eax, eax
mov dword [esp - 0x14], 0x567df360
je 0x4400d3
sub dword [ebp - 0x10], esi
mov edx, esi
mov esi, dword [ebp - 0x10]
mov ecx, ecx
xor edi, edi
nop
mov ecx, edi
mov dword [esp - 0x30], edx
lea edx, [edx + 2]
and ecx, 3
mov eax, 0x3281ec91
mov edx, edx
sub eax, 0x2a9449b2
add eax, 0x3e7a8f4c
sub eax, 0x1a577120
add eax, 0x4f9983e6
xchg ebp, ebp
shl ecx, 3
inc edi
sar eax, cl
cbw
mov dword [esp - 0x30], esp
xor ax, word [esi + edx - 2]
mov word [edx - 2], ax
mov eax, dword [ebp - 0x14]
xchg edi, edi
cmp edi, eax
jb 0x440082
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x20]
mov dword [esp - 0x40], ecx
mov edx, dword [ebp - 0x20]
xor ecx, ecx
mov word [esi + eax*2], cx
xor eax, eax
mov dword [esp - 0x2c], 0x7527a81e
mov edi, dword [edi + 0x20]
mov ecx, edi
push esi
mov edx, dword [edx + 0x30]
mov dword [esp - 0xc], edx
xor edx, 0x5d3156cb
and ecx, 3
push eax
pushf
mov ebp, ebp
mov dword [esp + 2], 0x798b93c8
xor dword [esp + 2], 0x5ec301c2
xor dword [esp + 2], 0x65cb232d
xchg ebx, ebx
xor dword [esp + 2], 0x63cdb981
xor dword [esp + 2], 0x214e08a4
popf
sete al
mov edx, edx
neg ecx
sbb ecx, ecx
shr edi, 9
mov dword [esp - 0x10], edi
and ecx, 8
and edi, 1
lea eax, [eax*2 + 3]
push eax
xchg ebp, ebp
mov eax, dword [0x4c0e90]
xor eax, dword [0x4c0968]
nop
sub esp, 4
mov dword [esp - 0x3c], ebp
mov dword [esp], 0x62f09fa8
sub dword [esp], 0x53098209
add dword [esp], 0x1f0165ad
mov esi, esi
sub dword [esp], 0x230ed2d1
add dword [esp], 0x440b9019
sub dword [esp], 0x40ffc98a
sub dword [esp], 0xee5770a
mov dword [esp - 0x44], ecx
push ecx
nop
mov dword [esp - 4], 0x496e3ab9
sub dword [esp - 4], 0x3949808b
mov dword [esp - 0x20], 0x68a9a0dc
xor dword [esp - 4], 0x4de234dd
sub dword [esp - 4], 0x1f281060
sub dword [esp - 4], 0x19230044
sub dword [esp - 4], 0x1a4223c8
mov dword [esp - 0x44], ecx
xor dword [esp - 4], 0xb395a87
sub esp, 4
nop
mov dword [esp - 0x28], esi
sub esp, 4
mov dword [esp], 0x38051fcc
xor dword [esp], 0x6047aad1
mov dword [esp - 0x18], 0x577944c6
add dword [esp], 0xd52fbca
sub dword [esp], 0x2b59910f
sub dword [esp], 0x28f82968
mov dword [esp - 0x40], 0x49baef5e
sub dword [esp], 0x1143f670
nop
sub esp, 4
mov dword [esp], 0x732a7e7d
mov dword [esp - 0x1c], edx
xor dword [esp], 0x6a6f8910
add dword [esp], 0x2637d68f
sub dword [esp], 0x137a4fca
mov dword [esp - 0xc], 0x67f018c8
sub dword [esp], 0x2c037e32
push edi
push dword [ebp - 0xc]
nop
mov dword [esp - 0x18], 0x2707216a
sub esp, 4
mov dword [esp], 0x282c3f4
xor dword [esp], 0x44065b1d
xor dword [esp], 0x2cef07a6
mov edx, edx
sub dword [esp], 0x46bc768a
sub dword [esp], 0xf0eddcf
sub dword [esp], 0x14a04af6
nop
mov ecx, ecx
sub esp, 4
mov dword [esp], 0x3d056307
sub dword [esp], 0x1fb26d73
add dword [esp], 0x23d910e0
mov dword [esp - 0x44], 0x5628811a
sub dword [esp], 0x901c22b
add dword [esp], 0x2e0ff483
sub dword [esp], 0x663a38cc
xchg ebp, ebp
nop
mov dword [esp - 4], 0x30b2013d
xor dword [esp - 4], 0x5bca7705
add dword [esp - 4], 0x1e1631e
xchg esi, esi
sub dword [esp - 4], 0x4c160b6f
add dword [esp - 4], 0x32da6ad4
sub dword [esp - 4], 0x541e38bb
mov ebx, ebx
sub esp, 4
push edx
call eax
mov dword [esp - 0x40], esp
mov edi, eax
push esi
mov dword [ebp - 0x60], edi
call fcn.00490c60
mov ecx, ecx
add esp, 4
test edi, edi
je 0x441232
xchg edi, edi
mov eax, dword [0x4c0ea0]
mov esi, dword [ebp - 0x1c]
xor eax, dword [0x4c0968]
push edi
mov edx, edx
push esi
call eax
mov eax, dword [0x4c0ea8]
xor eax, dword [0x4c0968]
mov ebx, ebx
sub esp, 4
mov dword [esp], 0x25cc7dba
add dword [esp], 0x2296e6fc
sub dword [esp], 0x45eaf9c1
mov ecx, ecx
sub dword [esp], 0x36f5bc
add dword [esp], 0x5e53335a
xor dword [esp], 0x2758714
mov ecx, ecx
xor dword [esp], 0x621ed078
push esi
call eax
mov dword [esp - 0x34], ebx
mov eax, dword [0x4c0eb0]
xor eax, dword [0x4c0968]
nop
mov dword [esp - 0x20], 0x7eb118e0
mov dword [esp - 4], 0x39b99e12
sub dword [esp - 4], 0x2d9b5e24
xor dword [esp - 4], 0x11bd554c
xchg edx, edx
add dword [esp - 4], 0x4a13a0ea
add dword [esp - 4], 0x150d4e6e
sub dword [esp - 4], 0x3857d94
xor dword [esp - 4], 0x793edc66
xchg edi, edi
sub esp, 4
push esi
call eax
mov eax, dword [0x4c0eb8]
xchg ebx, ebx
xor eax, dword [0x4c0968]
nop
sub esp, 4
xchg ecx, ecx
mov dword [esp], 0x1595dda9
add dword [esp], 0x37d91769
sub dword [esp], 0x179b6b0d
xchg edx, edx
xor dword [esp], 0x2a021bd1
xor dword [esp], 0x1fd191d4
push esi
mov dword [esp - 0x30], esi
call eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x30], 0x2a2e5644
add dword [ebp - 0x30], 0x1680cf0f
mov dword [esp - 0x3c], 0x5b15d7a
add dword [ebp - 0x30], 0x308de3e0
sub dword [ebp - 0x30], 0x1b166668
xor dword [ebp - 0x30], 0x11330a7
mov dword [esp - 0x2c], 0x240d6f78
add dword [ebp - 0x30], 0xd86bf23
sub dword [ebp - 0x30], 0x64bc518f
push eax
mov ebx, ebx
nop
sub esp, 4
mov dword [esp], 0x315eedb
add dword [esp], 0x48891be0
xchg edi, edi
sub dword [esp], 0x42657c2d
add dword [esp], 0x218c08f2
sub dword [esp], 0x2ac5977f
lea eax, [ebp - 0x4c]
mov dword [esp - 0x14], edx
mov dword [ebp - 0x4c], 0x4d4b51de
sub dword [ebp - 0x4c], 0x2ee45271
xor dword [ebp - 0x4c], 0x1d2c500e
mov dword [esp - 0x38], 0x28f1be69
add dword [ebp - 0x4c], 0x562479ee
sub dword [ebp - 0x4c], 0x596f2931
push eax
mov edx, edx
mov eax, dword [0x4c0ec0]
xor eax, dword [0x4c0968]
push esi
call eax
mov dword [esp - 0x28], 0x9b55a07
mov eax, dword [ebp - 0x48]
mov edi, dword [ebp - 0x20]
cdq
and edx, 3
mov dword [esp - 0x34], 0x676b2e53
add eax, edx
sar eax, 2
inc eax
mov dword [esp - 0x3c], edi
mov ecx, eax
mov dword [ebp - 0x34], eax
xor ecx, 0x5d3156cb
test dword [edi + 0x20], 0x2000
xchg ecx, ecx
mov dword [edi + 0x34], ecx
je 0x4405a8
sub esp, 4
mov dword [esp - 0x44], 0x22db66a
mov dword [esp], 0x464b4c
add dword [esp], 0x89999ff
xor dword [esp], 0x1831e6ee
add dword [esp], 0x41591855
mov dword [esp - 0x38], 0xc8b07f5
sub dword [esp], 0x52471b38
mov dword [edi + 0x3c], 0x54328718
xor dword [edi + 0x3c], 0x30e64215
mov dword [esp - 0x10], edi
sub dword [edi + 0x3c], 0x51d53968
sub dword [edi + 0x3c], 0x65b217a
sub dword [edi + 0x3c], 0xca469cb
call fcn.00490c90
xchg edi, edi
add esp, 4
mov dword [ebp - 0x24], eax
mov esi, eax
mov dword [esp - 0x1c], 0x79a72a33
xor edx, edx
lea ecx, [edx + 0x20]
inc edx
mov word [esi], cx
mov dword [esp - 0x10], esi
lea esi, [esi + 2]
cmp edx, 0x60
jl 0x440583
xor eax, eax
mov dword [esp - 0x18], 0xe47191a
mov word [esi], ax
jmp 0x440711
mov eax, dword [0x4c0f08]
xor eax, dword [0x4c0968]
nop
mov dword [esp - 0xc], esi
sub esp, 4
mov dword [esp], 0x59616309
sub dword [esp], 0x15e7f77e
sub dword [esp], 0x202b780
mov dword [esp - 0x24], 0x69f3d15f
sub dword [esp], 0x25c2e503
xor dword [esp], 0x7e415bd2
xor dword [esp], 0x65f294da
push esi
mov edx, edx
call eax
push eax
call fcn.00490fd0
mov edi, edi
mov ecx, dword [0x4c0f08]
add esp, 4
xor ecx, dword [0x4c0968]
mov dword [ebp - 0x18], eax
mov dword [esp - 0x40], 0x455fc55a
push eax
push esi
call ecx
mov esi, dword [ebp - 0x18]
mov dword [esp - 0x3c], 0x60c749da
mov ecx, 0x184a8eb7
add ecx, 0x2e30f115
add ecx, 0x296c8e85
mov dword [esp - 0x28], 0x51db9f8e
add ecx, 0x9ba0838
xor ecx, 0x79a2168b
mov eax, dword [esi + 8]
mov ebp, ebp
mov dword [edi + 0x3c], eax
inc eax
mul ecx
mov ebp, ebp
pushf
mov ecx, 0x6875348c
xor ecx, 0xa9ba86a
xor ecx, 0x25b96a3
xchg ebp, ebp
xor ecx, 0x6e458619
add ecx, 0x3e9e5aa2
xor ecx, 0xb2711901
xchg edx, edx
popf
cmovb eax, ecx
push eax
mov edx, edx
call fcn.00490c90
mov dword [ebp - 0x24], eax
mov edx, eax
mov dword [esp - 0x18], 0x677b0bcc
xor eax, eax
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [esp - 0x38], 0x531f6ab6
cmp dword [esi + 0xc], eax
jbe 0x4406ff
add esi, 0x12
nop
mov dword [esp - 0x10], 0x1bccb7d
xor edi, edi
xor ecx, ecx
cmp di, word [esi]
mov ecx, ecx
mov edi, dword [ebp - 0x18]
jae 0x4406e7
lea esp, [esp]
xchg ecx, ecx
mov ax, word [esi - 2]
add ax, cx
inc ecx
xchg edx, edx
mov word [edx], ax
add edx, 2
cmp cx, word [esi]
mov edi, edi
jb 0x4406cd
mov eax, dword [ebp - 0x14]
inc eax
xchg ebp, ebp
add esi, 4
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0xc]
jb 0x4406b9
mov dword [esp - 0x1c], edx
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
xor eax, eax
push esi
mov dword [esp - 0x18], ebp
mov word [edx], ax
call fcn.00490e50
add esp, 4
mov eax, dword [edi + 0x30]
mov dword [esp - 0x14], 0x45ef0b78
mov ecx, 0x1691c30b
add ecx, 0x2bbf9277
add ecx, 0x785ff7f
mov dword [esp - 0xc], ecx
add ecx, 0x21b8c489
sub ecx, 0x456a87d3
xor ecx, 0x262591f7
mov dword [esp - 0x3c], 0x2c27110a
mov edx, dword [edi + 0x3c]
xor eax, 0x5d3156cb
imul edx, eax
mov dword [esp - 0x44], esi
mov dword [edi + 0x28], 0x48094815
xor dword [edi + 0x28], 0x65395279
add dword [edi + 0x28], 0x18d7e4b2
add dword [edi + 0x28], 0x211d1353
mov ecx, ecx
sub dword [edi + 0x28], 0x9f39ba6
mov dword [edi + 0x2c], 0x2d4895d9
add dword [edi + 0x2c], 0x344175ce
xchg edx, edx
sub dword [edi + 0x2c], 0x19ad7d26
xor dword [edi + 0x2c], 0x5e68f77d
sub dword [edi + 0x2c], 0x9a0bbf4
xor dword [edi + 0x2c], 0x10ca83b
xchg esi, esi
xor dword [edi + 0x2c], 0x4c2e60f8
imul edx, eax
lea ebx, [ebx]
mov eax, ecx
mov dword [esp - 0x34], 0x68178e1a
imul eax, ecx
cmp edx, eax
jle 0x4407e2
mov dword [esp - 0x24], 0x191777da
add ecx, ecx
cmp ecx, 0x2000
jle 0x4407bd
jmp 0x4407ee
xor ecx, 0x5d3156cb
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], ecx
mov eax, dword [edi + 0x2c]
mov ecx, ecx
mov esi, dword [edi + 0x28]
xor eax, 0x5d3156cb
mov dword [ebp - 0x18], eax
xor esi, 0x5d3156cb
mov dword [esp - 0x10], 0x46679e10
mov dword [ebp - 4], eax
neg eax
nop
mov dword [esp - 4], 0x174ff75
mov esi, esi
xor dword [esp - 4], 0x68f5cd2e
add dword [esp - 4], 0x3ced862
sub dword [esp - 4], 0x118ca023
sub dword [esp - 4], 0x29ae1f64
mov dword [esp - 0x38], 0x3159b6aa
xor dword [esp - 4], 0x32154b36
sub esp, 4
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0x58]
mov edi, edi
nop
mov dword [esp - 4], 0x21e2cdd2
add dword [esp - 4], 0x49457f10
sub dword [esp - 4], 0x21bac738
mov dword [esp - 0x18], esi
sub dword [esp - 4], 0x40fda42b
add dword [esp - 4], 0x4aa51719
sub dword [esp - 4], 0x5314f898
sub esp, 4
mov dword [esp - 0x34], 0x211911c4
push eax
nop
sub esp, 4
mov dword [esp], 0x3a10587e
mov dword [esp - 0x40], 0xd8875c3
xor dword [esp], 0x1584940c
xor dword [esp], 0x6e9dd882
xor dword [esp], 0x48f7d750
xor dword [esp], 0x9fec3a0
mov ebp, ebp
lea eax, [ebp - 0xac]
mov dword [ebp - 0xc], esi
push eax
mov edx, edx
mov eax, dword [0x4c0e80]
push dword [ebp - 0x1c]
xor eax, dword [0x4c0968]
mov dword [ebp - 0x98], 0x412cc337
mov dword [esp - 0x18], ecx
sub dword [ebp - 0x98], 0x1e1404e1
xor dword [ebp - 0x98], 0x5e4736d
xor dword [ebp - 0x98], 0x30e15543
mov dword [esp - 0x38], 0x3f4f9be7
xor dword [ebp - 0x98], 0x794c9c9d
xor dword [ebp - 0x98], 0x2eb0000
sub dword [ebp - 0x98], 0x6dba04e5
mov dword [ebp - 0x94], 0x3b966dbe
mov ebp, ebp
sub dword [ebp - 0x94], 0x231c00ea
sub dword [ebp - 0x94], 0x79895e8
add dword [ebp - 0x94], 0x5545d34e
mov edi, edi
sub dword [ebp - 0x94], 0x6627aa3a
mov dword [ebp - 0x90], 0x21b3121c
sub dword [ebp - 0x90], 0x5b0cc97
xor dword [ebp - 0x90], 0x17dec292
mov edi, edi
xor dword [ebp - 0x90], 0x12cffc08
xor dword [ebp - 0x90], 0x19137b1f
mov dword [ebp - 0x8c], 0x3c7234d0
xor dword [ebp - 0x8c], 0xae6962e
mov dword [esp - 0x44], 0x2566c12d
xor dword [ebp - 0x8c], 0x71495874
add dword [ebp - 0x8c], 0x28dad1c2
xor dword [ebp - 0x8c], 0x15bd54c4
mov dword [esp - 0x34], edi
sub dword [ebp - 0x8c], 0x65059888
mov dword [ebp - 0x88], 0x41c2ff4a
add dword [ebp - 0x88], 0xa93544e
sub dword [ebp - 0x88], 0x64da05b
mov dword [esp - 0x38], 0x4a2d79be
xor dword [ebp - 0x88], 0x7309dbee
xor dword [ebp - 0x88], 0xf450594
sub dword [ebp - 0x88], 0x3a446d47
mov dword [ebp - 0x84], 0x6088ce8
mov ebp, ebp
add dword [ebp - 0x84], 0x1a0eb56f
sub dword [ebp - 0x84], 0x1eb1961d
add dword [ebp - 0x84], 0x5e152cfc
xchg ebx, ebx
xor dword [ebp - 0x84], 0x7f5299c6
sub dword [ebp - 0x84], 0x202840f0
mov dword [ebp - 0xac], 0x3fd6a9bb
mov dword [esp - 0x28], ecx
xor dword [ebp - 0xac], 0xd7e7bea
xor dword [ebp - 0xac], 0xa3e84cb
sub dword [ebp - 0xac], 0x5730cef
mov dword [esp - 0x20], edi
xor dword [ebp - 0xac], 0x57eae225
add dword [ebp - 0xac], 0x14220f03
sub dword [ebp - 0xac], 0x78ebba69
mov dword [ebp - 0xa8], esi
mov dword [esp - 0x14], ebp
mov dword [ebp - 0xa0], 0x5b888034
xor dword [ebp - 0xa0], 0x5af1c0f3
add dword [ebp - 0xa0], 0x3f7aaded
sub dword [ebp - 0xa0], 0x20466b5b
xchg esp, esp
xor dword [ebp - 0xa0], 0x5a8788ec
sub dword [ebp - 0xa0], 0x499df59f
sub dword [ebp - 0xa0], 0x306c1615
mov ecx, ecx
mov dword [ebp - 0x9c], 0x703a95ae
sub dword [ebp - 0x9c], 0x239d4388
xor dword [ebp - 0x9c], 0x18efc9e
mov dword [esp - 0x2c], 0x645daf5a
sub dword [ebp - 0x9c], 0x2f5980e7
sub dword [ebp - 0x9c], 0x113a83f4
xor dword [ebp - 0x9c], 0x546d1b9a
sub dword [ebp - 0x9c], 0x5812b247
mov esi, esi
call eax
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x44120e
mov esi, esi
mov ecx, dword [0x4c0ea0]
xor ecx, dword [0x4c0968]
push eax
push dword [ebp - 0x1c]
mov dword [esp - 0xc], esi
call ecx
mov eax, dword [edi + 0x3c]
mov ecx, 0x6fa9e916
xor ecx, 0x69e329ba
mov dword [esp - 0x20], 0x67a96bfc
add ecx, 0x25be2d0a
xor ecx, 0x720975d9
add ecx, 0x132b9cc
mov ebx, ebx
xor ecx, 0x5f345239
mul ecx
pushf
xchg ecx, ecx
mov ecx, 0x45ac9e05
sub ecx, 0x6e792ad
xor ecx, 0x45f81207
mov dword [esp - 0x14], 0x1854812
sub ecx, 0x2c0b46a3
sub ecx, 0x37057954
add ecx, 0x13abb271
mov dword [esp - 0x30], esi
xor ecx, 0xd427f426
popf
cmovb eax, ecx
push eax
mov dword [esp - 0xc], esi
call fcn.00490c90
mov ecx, dword [0x4c0ed0]
add esp, 4
mov esi, esi
xor ecx, dword [0x4c0968]
mov dword [ebp - 0x2c], eax
nop
sub esp, 4
mov dword [esp - 0xc], ecx
mov dword [esp], 0x6e6e6028
xor dword [esp], 0x11c4993c
sub dword [esp], 0x5613382d
sub dword [esp], 0x7e679fb
mov dword [esp - 0x28], 0x110a0e5f
add dword [esp], 0x1f30e613
sub dword [esp], 0x40e22cfe
push eax
mov dword [esp - 0x14], 0x11ead1b6
push dword [edi + 0x3c]
push dword [ebp - 0x24]
push dword [ebp - 0x1c]
call ecx
mov edx, edx
cmp eax, 0xffffffff
je 0x4411ed
mov eax, dword [edi + 0x3c]
mov ecx, 0x2a089ce5
xchg ebx, ebx
add ecx, 0x3aa535a4
sub ecx, 0x15a1eae3
xor ecx, 0x3825296f
mov dword [esp - 0x18], ebx
xor ecx, 0x772ececd
mul ecx
pushf
mov ecx, 0x69eb6107
xchg edx, edx
sub ecx, 0x57fa4b01
add ecx, 0x21a996ff
xor ecx, 0x55c49e66
mov dword [esp - 0x10], ecx
xor ecx, 0x99a1cc9c
popf
cmovb eax, ecx
mov dword [esp - 0x2c], edx
push eax
call fcn.00490c90
add esp, 4
mov ebp, ebp
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x48]
push ecx
push eax
mov ebp, ebp
mov eax, dword [0x4c0ee0]
xor eax, dword [0x4c0968]
nop
mov dword [esp - 4], 0x23fb5719
mov dword [esp - 0x18], ebp
xor dword [esp - 4], 0x3978a0bc
add dword [esp - 4], 0x29aaa52c
sub dword [esp - 4], 0x2ce5534d
mov ecx, ecx
add dword [esp - 4], 0x1247562d
sub dword [esp - 4], 0x29909fb1
sub esp, 4
mov ecx, ecx
nop
mov dword [esp - 4], 0x1ab5e112
xor dword [esp - 4], 0x18bfe9dd
xor dword [esp - 4], 0xcb7cfd8
mov dword [esp - 0x34], 0x1856cc40
xor dword [esp - 4], 0x126f9682
sub dword [esp - 4], 0x1cd25195
sub esp, 4
push dword [edi + 0x3c]
xchg edx, edx
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
call eax
test eax, eax
mov esi, esi
je 0x4411de
mov eax, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
mov dword [esp - 0x38], 0x15b46cbf
xor eax, 0x5d3156cb
mov dword [ebp - 0x50], eax
xor edx, 0x5d3156cb
mov dword [esp - 0x34], ebp
xor eax, eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], eax
mov dword [esp - 0x1c], ebp
cmp dword [edi + 0x3c], eax
jle 0x441010
fild dword [ebp - 0xc]
xchg esi, esi
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x10], ecx
xor ecx, ecx
fstp dword [ebp - 0x38]
mov ebx, ebx
fld dword [ebp - 0x38]
fstp qword [ebp - 0xb8]
fild dword [ebp - 4]
mov dword [esp - 0x18], 0xacbebdb
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp qword [ebp - 0xc0]
mov esi, dword [ebp - 0x10]
xchg ebp, ebp
mov edi, dword [ebp - 0x34]
movzx esi, word [esi]
mov dword [ebp - 0x3c], esi
mov ebp, ebp
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + eax*4]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov dword [esp - 0x24], ebx
lea esi, [eax + edx]
add edi, esi
mov dword [ebp - 0x38], esi
mov ebp, ebp
cmp edi, dword [ebp - 0xc]
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0x20]
mov dword [esp - 0x3c], ebp
jl 0x440e1d
mov esi, dword [ebp - 0x50]
inc esi
mov dword [esp - 0x24], 0x418e95ca
add ecx, esi
mov dword [ebp - 0x30], ecx
mov esi, edx
mov dword [ebp - 0x6c], ecx
mov dword [esp - 0x1c], ebx
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
push edx
mov esp, esp
pushf
mov dword [esp + 2], 0x6121d040
sub dword [esp + 2], 0x88f4c9c
sub dword [esp + 2], 0x4ece00dd
mov dword [esp - 0x10], 0x6e3b006b
add dword [esp + 2], 0x487122df
sub dword [esp + 2], 0x12791fac
sub dword [esp + 2], 0x3fbc85fa
popf
xchg esi, esi
cmovl esi, dword [ebp - 0x34]
add eax, esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x68], eax
xchg edi, edi
mov eax, dword [ebp - 0x44]
nop
sub esp, 4
mov esi, esi
mov dword [esp], 0x6f8fefea
add dword [esp], 0xd6f03ce
xor dword [esp], 0x4294d1e0
mov dword [esp - 0x34], ecx
xor dword [esp], 0x2b3bf772
xor dword [esp], 0x5f7260a7
sub dword [esp], 0x4a23b58c
mov esp, esp
push dword [ebp - 0x10]
add eax, ecx
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x70]
xchg ebx, ebx
push eax
mov eax, dword [0x4c0ee8]
xor eax, dword [0x4c0968]
nop
mov dword [esp - 0x34], edx
sub esp, 4
mov dword [esp], 0x1aa47437
xor dword [esp], 0x6a6b34d9
xor dword [esp], 0xdb0f8b0
mov dword [esp - 0x18], ebp
sub dword [esp], 0x620b85f1
sub dword [esp], 0xf661c2
sub dword [esp], 0x13fb2ab0
sub dword [esp], 0x682a5f7
mov dword [esp - 0xc], edx
push ecx
push esi
push dword [ebp - 0x1c]
xchg esp, esp
call eax
mov edx, dword [ebp - 0x54]
mov eax, esi
mov dword [esp - 0x24], 0x303b3f5a
sub eax, edx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 4], eax
fild dword [ebp - 4]
mov dword [esp - 0x20], 0x652c7e4d
mov eax, dword [ebp - 0x38]
add eax, esi
add dword [ebp - 0x10], 2
fstp dword [ebp - 4]
mov ecx, ecx
fld dword [ebp - 4]
fld qword [ebp - 0xb8]
fdiv st(1), st(0)
fxch st(1)
mov dword [esp - 0x28], 0x43192dbb
fstp dword [ebp - 0x80]
fild dword [ebp - 0x30]
fstp dword [ebp - 4]
mov ebp, ebp
fld dword [ebp - 4]
fld qword [ebp - 0xc0]
fdiv st(1), st(0)
fxch st(1)
mov dword [esp - 0x24], ebp
mov dword [ebp - 4], eax
fstp dword [ebp - 0x7c]
fild dword [ebp - 4]
xchg esi, esi
fstp dword [ebp - 4]
fld dword [ebp - 4]
fdivrp st(2)
mov esi, esi
fxch st(1)
mov eax, dword [ebp - 0x44]
add eax, ecx
mov dword [esp - 0x30], 0x501dd5ee
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x3c]
shl eax, 4
mov dword [esp - 0xc], edi
fstp dword [ebp - 0x78]
fild dword [ebp - 4]
fstp dword [ebp - 4]
fdivr dword [ebp - 4]
xchg ebp, ebp
add eax, dword [edi + 0x38]
fstp dword [ebp - 0x74]
movaps xmm0, xmmword [ebp - 0x80]
xchg ecx, ecx
xorps xmm0, xmmword [0x4c55d0]
movups xmmword [eax], xmm0
mov eax, dword [ebp - 0x28]
mov dword [esp - 0x44], 0x7b41c1ce
add eax, esi
mov esi, dword [ebp - 0x14]
lea eax, [eax + edx*2]
mov dword [esp - 0x34], ebx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x40]
mov esi, dword [esi + eax*4]
mov dword [esp - 0x2c], 0x7ace3482
inc eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x40], eax
mov dword [esp - 0x34], 0x1042f9f7
cmp eax, dword [edi + 0x3c]
jl 0x440dd3
mov esi, dword [ebp - 0xc]
xchg ecx, ecx
mov eax, dword [ebp - 0x18]
mov ecx, 0x7f691726
sub ecx, 0xf81a30
mov dword [esp - 0x24], 0x4010ed3f
sub ecx, 0x162eaffb
xor ecx, 0x1076019a
xor ecx, 0x1ab56e6c
xor ecx, 0x55665f50
mov dword [esp - 0x3c], edi
sub ecx, 0x37e77c59
imul eax, esi
mul ecx
pushf
mov esp, esp
mov ecx, 0x2fa950ea
add ecx, 0x1212a102
sub ecx, 0x2704c9e5
mov dword [esp - 0x20], 0x5fdbf039
add ecx, 0x45827c8f
xor ecx, 0x4b66227f
add ecx, 0xd4a07916
mov dword [esp - 0x28], ebp
popf
cmovb eax, ecx
push eax
call fcn.00490c90
mov dword [esp - 0xc], 0x2c3cc346
mov ecx, dword [ebp - 0x18]
mov esi, eax
mov eax, dword [ebx + 8]
add esp, 4
mov dword [esp - 0x3c], 0x6e15813c
mov dword [eax], esi
test ecx, ecx
jle 0x441123
mov eax, dword [ebp - 0xc]
mov ecx, ecx
xor edi, edi
lea edx, [eax*4]
mov dword [ebp - 0x3c], edx
mov edi, edi
lea esp, [esp]
test eax, eax
jle 0x441112
mov dword [esp - 0x2c], edx
mov ecx, edi
mov edx, eax
jmp 0x4410da
mov eax, dword [ebp - 0x58]
lea ecx, [ecx + 4]
mov eax, dword [ecx + eax - 4]
shl eax, 0x18
mov dword [esp - 0x38], 0x76ea52f2
or eax, 0xffffff
mov dword [ecx + esi - 4], eax
sub edx, 1
mov dword [esp - 0x2c], 0x3af59c7c
jne 0x4410da
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x3c]
mov dword [esp - 0x18], edx
add edi, edx
sub ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [esp - 0x14], ecx
jne 0x4410c6
mov edi, dword [ebp - 0x20]
mov eax, dword [edi + 0x20]
mov dword [esp - 0x30], 0x47727790
test al, 2
je 0x44116c
nop
mov dword [esp - 4], 0x2d62ee19
mov edi, edi
add dword [esp - 4], 0x2a81c0a2
sub dword [esp - 4], 0x39491a13
xor dword [esp - 4], 0x24272453
xor dword [esp - 4], 0x7313e3ac
mov ecx, ecx
sub dword [esp - 4], 0x49af5357
sub esp, 4
jmp 0x4411b8
test al, 1
je 0x4411c2
mov dword [esp - 0x28], 0x41026970
nop
mov dword [esp - 4], 0x6a652821
sub dword [esp - 4], 0xa075cfe
xor dword [esp - 4], 0x4890acd9
xchg edi, edi
sub dword [esp - 4], 0x9cadf9f
add dword [esp - 4], 0x32ca926a
add dword [esp - 4], 0xd5592c0
xor dword [esp - 4], 0x5f22ad84
xchg ebx, ebx
sub esp, 4
push esi
mov ecx, edi
mov ebp, ebp
call fcn.0043d8b0
mov byte [ebp - 5], 0x30
xor byte [ebp - 5], 0x72
sub byte [ebp - 5], 0x11
mov dword [esp - 0x1c], 0x543acd16
add byte [ebp - 5], 0x30
sub byte [ebp - 5], 0x60
push dword [ebp - 0x14]
mov dword [esp - 0x3c], ebx
call fcn.00490c60
add esp, 4
push dword [ebp - 0x2c]
call fcn.00490c60
mov dword [esp - 0x1c], edi
mov eax, dword [0x4c0ef0]
add esp, 4
xor eax, dword [0x4c0968]
push dword [ebp - 0x5c]
xchg ebp, ebp
call eax
push dword [ebp - 0x24]
call fcn.00490c60
mov ecx, dword [0x4c0ef0]
mov dword [esp - 0x44], ebp
add esp, 4
xor ecx, dword [0x4c0968]
push dword [ebp - 0x60]
call ecx
mov dword [esp - 0x18], esi
mov ecx, dword [0x4c0ef8]
push dword [ebp - 0x1c]
xor ecx, dword [0x4c0968]
mov edi, edi
call ecx
mov al, byte [ebp - 5]
pop edi
pop esi
mov esp, esp
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
xchg ebx, ebx
ret 4