Function at 0x52c448
Capabilities:
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
xor edx, edi
neg edx
inc ebx
sub edi, 0x51ee6da4
xor dword [0x5d0a89], ebx
inc ebx
add dword [0x5d0adc], eax
xor dword [0x5d0ac1], eax
dec edx
sub esi, 0xce93538c
call fcn.004606f0
xor dword [0x5d0a2a], edx
dec ecx
sub edi, ebp
add edi, dword [0x5d0ca3]
call fcn.0045cb76
add edi, ebp
inc ecx
add dword [0x5d0b04], ecx
call fcn.0045b475
add esi, 0xce93538c
inc edx
sub dword [0x5d09cd], edi
dec ebx
add edi, 0x3c7c0082
mov dword [0x5d0bf6], eax
inc ebx
dec ebx
xor esi, 0x6e10e5b5
inc eax
rol eax, 0x12
xor ecx, esi
ror esi, 0x1e
add edi, ebx
dec ebx
xor ebx, ebp
fucomp st(0)
lea esp, [esi - 0xd]
inc ecx
leave
push cs
add eax, esi
add ecx, dword [0x5d0f19]
rol edx, 0x17
call fcn.00426d72
xor eax, esp
xor esi, dword [0x5d0cb8]
xor edi, edx
call fcn.0041f721
call fcn.004e7d25
xor edi, edx
xor eax, esp
call fcn.004409a4
ror edx, 0x17
sub eax, esi
rol ecx, 0xe
xor ebx, ebp
inc ebx
sub edi, ebx
rol esi, 0x1e
xor ecx, esi
ror eax, 0x12
dec eax
xor esi, 0x6e10e5b5
inc ebx
dec ebx
and dword [0x5d0926], edi
push edi
dec ecx
add edi, 0xe8ec1891
neg ecx
and dword [0x5d0ac3], ecx
sub edi, dword [0x5d0d7a]
xor ebx, ebp
ror edx, 5
xchg ebx, eax
neg ebx
xor ecx, 0x7ec51849
dec ecx
sbb ch, al
jle 0x52c3d4
shr dword [ebx], cl
fnstenv [ebx]
adc eax, 0x5d0f88
sub ebx, dword [0x5d0f79]
add dword [0x5d094f], edi
add ecx, edx
xor edi, esi
rol esi, 0x1e
xchg edx, esi
xchg edx, esi
ror esi, 0x1e
xor edi, esi
sub ecx, edx
add ebx, ecx
xchg ebx, edx
xor ecx, 0x7ec51849
neg ebx
xchg ebx, eax
rol edx, 5
xor ebx, ebp
neg ecx
sub edi, 0xe8ec1891
inc ecx
mov edx, 0x1a57a5f5
neg ecx
xor ebx, dword [0x5d0dfc]
rol edi, 0x14
and dword [0x5d0c40], esi
sub esi, dword [0x5d0cae]
rol ecx, 0x11
or dword [0x5d0940], edi
xor ecx, ebx
ror esi, 3
mov dword [0x5d09a5], edx
sub dword [0x5d0af6], ecx
rol esi, 3
xor ecx, ebx
ror ecx, 0x11
xor dword [0x5d0a14], eax
ror edi, 0x14
neg ecx
and edx, 0x440d8b20
xchg esi, edx
neg eax
ror ecx, 0x17
xor esi, 0x63f639db
not ebx
and dword [0x5d09cc], eax
sub edi, dword [0x5d0cd0]
not edi
dec eax
call fcn.00498348
xor eax, 0x67227612
add eax, dword [0x5d0cad]
call fcn.0053b0e7
add dword [0x5d0bc7], ebx
call fcn.004010a0
and dword [0x5d0b5f], ecx
call fcn.004db5e6
xor eax, 0x67227612
call fcn.005351cf
inc eax
not edi
not ebx
xor esi, 0x63f639db
rol ecx, 0x17
neg eax
xchg esi, edx
xor edx, 0x4169e055
add esi, 0x2078ac02
add eax, dword [0x5d0f0c]
sub ebx, dword [0x5d0fae]
ror ebx, 8
dec ecx
call fcn.005458e4
mov dword [0x5d0905], 0xc25bdf78
neg edx
or dword [0x5d0beb], ebx
rol edi, 0x15
xor ebx, 0xe4c971a3
xor edx, 0xd2bec69b
or esi, dword [0x5d0fbb]
add dword [0x5d0bf5], edi
neg edi
sub ebx, dword [0x5d0cbc]
call fcn.004d25f5
call fcn.004a74f6
neg edi
xor dword [0x5d0b76], eax
xor edx, 0xd2bec69b
xor ebx, 0xe4c971a3
ror edi, 0x15
neg edx
add dword [0x5d0a5f], 0xd9175a12
inc ecx
rol ebx, 8
sub esi, 0x2078ac02
push edx
inc edi
sub edx, dword [0x5d0f90]
dec edi
mov dword [0x5d0aa0], 0x77af1b53
call fcn.00413f92
xor eax, ebx
xor dword [0x5d0c24], edx
xor esi, dword [0x5d0ea9]
sub dword [0x5d0b6e], ecx
or eax, dword [0x5d0c5e]
call fcn.004a74f6
xor dword [0x5d09a2], esi
add dword [0x5d0b12], ecx
xor eax, ebx
inc edi
dec edi
mov edi, 0xde5ba4cd
add esi, 0x7a7744ec
rol ecx, 0x1f
add edx, 0xb32f710a
call fcn.004a2436
neg esi
ror ebx, 0xc
or dword [0x5d0909], edx
xor eax, edx
dec esi
xor dword [0x5d097e], ecx
xor edi, 0x9d619ab0
call fcn.0054cec1
xor edx, ebx
add edx, dword [0x5d0eb8]
rol edx, 0x18
sub eax, esi
xor eax, dword [0x5d0f91]
add eax, esi
ror edx, 0x18
xor edx, ebx
xor edi, 0x9d619ab0
mov dword [0x5d0c33], esi
inc esi
xor eax, edx
xor dword [0x5d0a44], edx
rol ebx, 0xc
neg esi
sub edx, 0xb32f710a
ror ecx, 0x1f
sub esi, 0x7a7744ec
or edi, 0x1dd10fae
call fcn.004f2eda
xor edi, ebp
add edi, 0xd66b0e9b
call fcn.0045a25e
dec eax
mov dword [0x5d0bcf], 0x922f020d
add eax, dword [0x5d0de0]
xchg edi, edx
call fcn.0040bfd1
xor edi, 0x5adf6519
neg edx
inc esi
sub edx, esp
call fcn.004a0a3b
ror ebx, 0x18
call fcn.0049ead5
sub ecx, edi
neg edi
inc ecx
add dword [0x5d0bc9], edx
and dword [0x5d093d], eax
dec ecx
neg edi
add ecx, edi
call fcn.00476c00
rol ebx, 0x18
call fcn.00430e5b
add edx, esp
dec esi
neg edx
xor edi, 0x5adf6519
xchg edi, edx
inc eax
sub edi, 0xd66b0e9b
xor edi, ebp
call fcn.004537c3
add edi, 0x9496b967
mov dword [0x5d0910], ecx
inc edx
inc esi
sub esi, dword [0x5d0d95]
dec ebx
add edi, ebp
call fcn.00503e57
dec eax
xor ebx, eax
ror eax, 3
or ecx, dword [0x5d0f4d]
sub edx, dword [0x5d0d08]
sub ecx, 0xe4c382a0
rol ebx, 0x16
call fcn.0043d6b5
mov dword [0x5d0b86], eax
inc eax
ror esi, 0xe
sub ebx, dword [0x5d0ecb]
inc ecx
call fcn.0051b700
and dword [0x5d0a57], edi
and dword [0x5d0b51], eax
dec ecx
rol esi, 0xe
dec eax
sub dword [0x5d0923], eax
ror ebx, 0x16
add ecx, 0xe4c382a0
rol eax, 3
xor ebx, eax
inc eax
call fcn.004b40b2
sub edi, ebp
inc ebx
dec esi
dec edx
xor dword [0x5d0adf], ecx
push edi
or ebx, dword [0x5d0c92]
call fcn.0049f8fa
sub edi, edx
xchg edi, edx
sub dword [0x5d0a0c], edi
xor esi, edi
sub dword [0x5d0916], eax
call fcn.00408268
dec esi
xor dword [0x5d0a39], ebx
add ebx, eax
or dword [0x5d09da], 0xb220d785
not eax
call fcn.00431852
or dword [0x5d0aa5], eax
call fcn.004e137a
not esi
call fcn.004c10db
not esi
call fcn.00504404
add dword [0x5d09c1], ebx
call fcn.0043349e
not eax
sub ebx, eax
add dword [0x5d0bbc], ecx
inc esi
xor esi, edi
and dword [0x5d0917], edx
xchg edi, edx
add edi, edx
push esp
not esi
sub esi, 0x91762834
inc edx
add ebx, ebp
add ebx, dword [0x5d0e72]
sub dword [0x5d0a80], 0xafef2500
mov dword [0x5d0906], ebx
call fcn.004eee34
xor dword [0x5d0a1a], ecx
ror edi, 8
xor edi, dword [0x5d0d7f]
sub edi, 0x2885dfbf
add edi, 0x2885dfbf
rol edi, 8
or dword [0x5d0ab4], edi
call fcn.004eee34
sub ebx, ebp
dec edx
add esi, 0x91762834
not esi
push eax
call fcn.0048123d
add dword [0x5d0aae], eax
sub eax, dword [0x5d0c72]
xor eax, 0x49a3f26
xor ebx, ecx
mov dword [0x5d08f2], esi
call fcn.0046bda2
rol esi, 0x10
xchg esi, edx
ror ecx, 0xe
dec eax
call fcn.0048ab40
xor dword [0x5d0adc], eax
xor ebx, ebp
dec eax
sub edx, dword [0x5d0cc2]
sub ebx, dword [0x5d0d03]
call fcn.0044636b
sub esi, 0xe317576
mov dword [0x5d0b91], ebx
neg eax
add edi, dword [0x5d0eb0]
neg eax
add esi, 0xe317576
inc eax
xor ebx, ebp
inc eax
rol ecx, 0xe
xchg esi, edx
ror esi, 0x10
call fcn.00549a36
xor ebx, ecx
xor eax, 0x49a3f26
call fcn.004652a4
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ebx, 0xf60b3376
not ebx
inc esi
sub ebx, ecx
neg esi
sub eax, edi
xor ecx, 0xa658841a
sub edx, 0x24889f25
rol edx, 0xf
xor ebx, eax
neg esi
dec ecx
ror edi, 0xe
call fcn.00491a6e
xor edx, 0xccde699c
and dword [0x5d09f5], 0xa102cc81
add edx, dword [0x5d0c7b]
call fcn.0047804c
add dword [0x5d0b66], 0x868b4ec1
xor edx, 0xccde699c
call fcn.0050bfaa
rol edi, 0xe
inc ecx
neg esi
xor ebx, eax
ror edx, 0xf
add edx, 0x24889f25
xor ecx, 0xa658841a
add eax, edi
neg esi
add ebx, ecx
dec esi
not ebx
xor ebx, 0xf60b3376
add esp, 0x10
add eax, edx
mov dword [0x5d09d1], edx
sub eax, 0xd2f18cdb
neg ebx
xor ecx, dword [0x5d0cc0]
sub ecx, dword [0x5d0da2]
rol edi, 0x1d
neg edx
inc ebx
rol ecx, 6
add dword [0x5d0be2], ecx
ror ebx, 0x17
sub edx, dword [0x5d0e36]
neg edi
sub edx, 0x3ea3fe7f
add eax, dword [0x5d0e94]
xchg edi, esi
add ecx, edi
call fcn.004a2436
call fcn.0045312c
sub ecx, edi
xchg edi, esi
add edx, 0x3ea3fe7f
neg edi
rol ebx, 0x17
xor dword [0x5d0c29], edi
ror ecx, 6
dec ebx
neg edx
ror edi, 0x1d
neg ebx
add eax, 0xd2f18cdb
xor dword [0x5d0a1a], edx
sub eax, edx
mov edx, 0xda5b1ff
xchg eax, esi
add edx, dword [0x5d0ca2]
sub edx, dword [0x5d0ed6]
dec edi
rol edi, 7
inc ecx
sub ebx, 0x7220c9ed
xor eax, dword [0x5d0d95]
call fcn.00512722
sub esi, ecx
call fcn.0053f028
ror esi, 0x1a
call fcn.004ea934
xor eax, 0xce98d8a5
neg esi
rol ebx, 0x1f
xor edi, 0xab180cd6
xor edx, 0x4a85934a
dec ebx
call fcn.004dbbbb
call fcn.004a2436
call fcn.0050c3ee
call fcn.0051d9a9
inc ebx
xor edx, 0x4a85934a
xor edi, 0xab180cd6
ror ebx, 0x1f
neg esi
xor eax, 0xce98d8a5
call fcn.004531e9
rol esi, 0x1a
add esi, ecx
add ebx, 0x7220c9ed
dec ecx
ror edi, 7
inc edi
xchg eax, esi
or edx, 0xa2414e40
inc edi
inc eax
not edi
xor ebx, 0x957c3702
add dword [0x5d0a24], ecx
ror esi, 0x14
and dword [0x5d08ee], 0xd869f810
add dword [0x5d0bd9], ebx
ror esi, 0x19
not ecx
inc edi
add ecx, ebp
xchg eax, edx
dec edi
sub eax, dword [0x5d0d83]
inc edi
xchg eax, edx
sub ecx, ebp
dec edi
not ecx
rol esi, 0x19
xor dword [0x5d0c18], 0x85caa194
rol esi, 0x14
xor ebx, 0x957c3702
not edi
dec eax
dec edi
sub edx, 0xafe5ffbf
ror ebx, 4
or dword [0x5d0a8e], ecx
xor eax, esi
xor dword [0x5d0b5a], 0xbe3d3dd8
xor eax, edx
ror edx, 0x11
call fcn.004e20e3
add edx, dword [0x5d0e93]
call fcn.00487a9e
sub ebx, 0x2c02a685
add ebx, dword [0x5d0f65]
sub edx, 0xecce10a4
add edx, 0xecce10a4
add ebx, 0x2c02a685
rol edx, 0x11
xor eax, edx
mov dword [0x5d0bc3], 0x8ff329f6
xor eax, esi
or dword [0x5d0bdb], ecx
rol ebx, 4
push edx
neg edx
call fcn.00445252
sub edi, 0x6e97c361
dec edx
xor esi, 0xe73e1054
call fcn.004a74f6
dec edi
xor edi, 0x74741de4
xchg esi, edx
mov dword [0x5d0a0b], 0x641889a
add dword [0x5d0a15], edi
call fcn.00491868
dec ebx
xor dword [0x5d0b28], eax
call fcn.004164c8
inc ebx
call fcn.004fec6e
xchg esi, edx
xor edi, 0x74741de4
inc edi
xor esi, 0xe73e1054
inc edx
add edi, 0x6e97c361
call fcn.00422222
neg edx
mov ebx, 0xe0ebfe65
xor ebx, 0xcb716bf0
not ebx
sub ebx, dword [0x5d0da2]
inc edi
rol eax, 9
not edx
sub esi, 0xcdcc9bf2
or esi, dword [0x5d0de7]
ror esi, 0x16
inc eax
not esi
xor edx, dword [0x5d0dd6]
xor edx, ecx
ror eax, 0xf
call fcn.004c1866
rol eax, 3
add esi, 0x7c12ed97
dec edi
call fcn.0045e292
call fcn.0040aebc
inc edi
sub esi, 0x7c12ed97
ror eax, 3
call fcn.00476c00
rol eax, 0xf
xor edx, ecx
not esi
dec eax
rol esi, 0x16
add esi, 0xcdcc9bf2
not edx
ror eax, 9
dec edi
not ebx
xor ebx, 0xcb716bf0
and ebx, 0xca978d24
xor ebx, 0xbcba884d
xor eax, dword [0x5d0eca]
xchg esi, eax
dec eax
mov dword [0x5d0a5b], edi
ror esi, 0x18
xor ebx, dword [0x5d0e0c]
inc ecx
neg ecx
ror ecx, 4
add edi, esi
rol esi, 0xd
add ebx, dword [0x5d0dc0]
xchg esi, eax
rol ecx, 4
or eax, dword [0x5d0d6b]
xor eax, 0x6b85ec30
xchg ecx, edx
rol ebx, 5
xor eax, dword [0x5d0d8f]
ror ebx, 5
xchg ecx, edx
xor eax, 0x6b85ec30
ror ecx, 4
xchg esi, eax
ror esi, 0xd
sub edi, esi
rol ecx, 4
neg ecx
dec ecx
rol esi, 0x18
and dword [0x5d0c07], esi
inc eax
xchg esi, eax
xor ebx, 0xbcba884d
add ebx, 0x3f7ca3dc
sub ecx, eax
xor ecx, edi
inc ecx
add dword [0x5d0a14], esi
call fcn.00438fd0
inc eax
not esi
sub esi, 0x746acb48
xor ebx, 0x53ad3117
ror ebx, 0x1f
call fcn.004d04b2
rol ebx, 0x1f
xor ebx, 0x53ad3117
add esi, 0x746acb48
not esi
dec eax
sub dword [0x5d0a82], eax
dec ecx
xor ecx, edi
add ecx, eax
push ebx
mov dword [0x5d0b88], edx
xor esi, 0x2e1fdc68
or esi, dword [0x5d0fb3]
add edi, dword [0x5d0c91]
xor ebx, dword [0x5d0c8f]
xor ecx, 0xf6825ac2
call fcn.004c5968
sub edi, 0x88613c4f
sub edx, dword [0x5d0cf1]
xor edx, eax
xor esi, dword [0x5d0e92]
ror ebx, 0x16
xor eax, edi
call fcn.00502302
xchg ebx, esi
not edi
xor esi, esp
sub esi, ebx
call fcn.00534d13
add ecx, dword [0x5d0d07]
call fcn.004611c2
call fcn.00525b28
add esi, ebx
xor esi, esp
not edi
xchg ebx, esi
call fcn.0040bfd1
xor eax, edi
rol ebx, 0x16
xor edx, eax
add edi, 0x88613c4f
call fcn.004d1af5
xor ecx, 0xf6825ac2
xor esi, 0x2e1fdc68
mov dword [0x5d0964], esi
push 0x57454
sub edi, dword [0x5d0ec8]
xor esi, 0x8f5bc2e4
neg esi
add dword [0x5d0aa2], ebx
sub ebx, 0xbc13682d
inc edx
neg eax
add eax, dword [0x5d0f2e]
inc esi
sub edx, 0x9f9666c0
add dword [0x5d091b], 0xb937045
rol ebx, 0x11
add dword [0x5d0a68], edi
xchg ecx, eax
dec eax
and dword [0x5d09d1], 0x3be71bf9
xor esi, 0x591babf
or ebx, dword [0x5d0d2c]
xor esi, 0x591babf
inc eax
xchg ecx, eax
ror ebx, 0x11
add dword [0x5d0abf], 0x938c0da8
add edx, 0x9f9666c0
dec esi
neg eax
dec edx
add ebx, 0xbc13682d
and dword [0x5d0bb6], edi
neg esi
xor esi, 0x8f5bc2e4
mov esi, 0x14389868
call fcn.004fbfa5
xor edi, dword [0x5d0f61]
inc edi
sub ecx, esi
not edi
or esi, dword [0x5d0c9d]
rol esi, 0x11
sub dword [0x5d0b6e], 0x9d12be50
xor ecx, esp
xor edx, ecx
xchg ebx, edx
inc eax
sub esi, ebp
and dword [0x5d0b6f], eax
and dword [0x5d0953], ecx
sub ebx, 0x3faf8b35
xor dword [0x5d0bb5], ecx
add ebx, 0x8bcec5da
call fcn.004b3466
call fcn.004e9543
sub ebx, 0x8bcec5da
add ebx, 0x3faf8b35
mov dword [0x5d09b2], eax
add dword [0x5d0c2a], esi
add esi, ebp
dec eax
xchg ebx, edx
xor edx, ecx
xor ecx, esp
and dword [0x5d0bf3], 0xc2c7fc8e
ror esi, 0x11
not edi
add ecx, esi
dec edi
call fcn.004ea934
and esi, 0x6863abf0
neg esi
xor ecx, ebx
mov dword [0x5d0aa7], 0xe752d015
xor dword [0x5d0b81], esi
add ebx, dword [0x5d0ec0]
add dword [0x5d0a04], eax
and dword [0x5d0955], edx
call fcn.00467748
ror ebx, 0x1a
xor ecx, esp
add ecx, dword [0x5d0d4b]
sub ebx, 0x47b5a14c
call fcn.005125c6
neg ecx
sub edi, dword [0x5d0c5c]
not eax
xchg edx, eax
and dword [0x5d0c12], ebx
call fcn.00406970
sub eax, 0x5e9da2b3
add eax, 0x5e9da2b3
call fcn.00520bc4
mov dword [0x5d08cd], ecx
xchg edx, eax
not eax
neg ecx
call fcn.004cbc58
add ebx, 0x47b5a14c
xor ecx, esp
rol ebx, 0x1a
call fcn.00519cb0
or dword [0x5d0c26], eax
or dword [0x5d091b], ecx
mov dword [0x5d09c8], 0x517be667
xor ecx, ebx
neg esi
sub esi, 0x208860
or ebx, dword [0x5d0e19]
ror edx, 0x10
sub eax, dword [0x5d0d3e]
xchg eax, edx
mov dword [0x5d0b89], 0xb662963c
call fcn.0042c599
not eax
sub dword [0x5d09d4], ecx
or dword [0x5d091b], ebx
dec edx
and dword [0x5d09b5], ecx
xchg edi, esi
or eax, dword [0x5d0dbc]
call fcn.004d867c
add eax, dword [0x5d0cd6]
sub ebx, ecx
call fcn.00540b15
call fcn.004b1dcf
add ebx, ecx
call fcn.004c0b87
xchg edi, esi
and dword [0x5d0a6b], edi
inc edx
or dword [0x5d0b64], edx
not eax
xchg eax, edx
rol edx, 0x10
push esi
xor ebx, ecx
sub esi, dword [0x5d0e06]
call fcn.00457775
ror eax, 0x18
or dword [0x5d0a19], ebx
call fcn.00495772
sub esi, ebp
or dword [0x5d0ba9], 0xc879429
xor dword [0x5d0994], eax
call fcn.004a74f6
rol edx, 0xe
xor edi, 0xe97d4e5
call fcn.004b8bb4
neg ebx
mov dword [0x5d0ab0], eax
xor eax, ebp
dec eax
add ecx, dword [0x5d0e79]
rol ecx, 0x1f
ror ebx, 0x12
rol ebx, 0x12
ror ecx, 0x1f
inc eax
xor eax, ebp
xor dword [0x5d09c0], ecx
neg ebx
xor edi, 0xe97d4e5
ror edx, 0xe
xor dword [0x5d0abe], ebx
add esi, ebp
call fcn.0051407b
rol eax, 0x18
call fcn.0054765e
xor ebx, ecx
call eax
add edi, dword [0x5d0e6a]
xchg edx, eax
call fcn.0045b52d
xor edx, dword [0x5d0e5e]
mov dword [0x5d0baa], eax
xchg eax, edx
sub dword [0x5d0aef], ecx
add edx, ebp
and dword [0x5d0b11], ecx
add esi, esp
not ecx
add edx, dword [0x5d0d06]
ror ecx, 0x12
rol ecx, 0x12
not ecx
sub esi, esp
sub edx, ebp
xchg eax, edx
or dword [0x5d0bcd], esi
xchg edx, eax
lea esi, [0xdccd57af]
inc esi
sub eax, 0xf1d7662d
xor edx, ebp
xor esi, dword [0x5d0cea]
xor edx, dword [0x5d0f6b]
rol ecx, 0xf
sub dword [0x5d0a87], ebx
and dword [0x5d0bd2], 0xd4122aa7
xor ecx, 0x7eb41d18
neg edx
xor dword [0x5d0aea], 0xea2e23a5
add dword [0x5d0bb5], ecx
xor ecx, dword [0x5d0d8a]
neg esi
sub esi, 0x9c3ddbf4
xor ecx, 0x4da51356
xor dword [0x5d0ac5], esi
xor ecx, 0x2acc535
add esi, dword [0x5d0d77]
call fcn.00485036
call fcn.004a74f6
xor ecx, 0x2acc535
sub dword [0x5d08ca], edi
xor ecx, 0x4da51356
add esi, 0x9c3ddbf4
neg esi
xor dword [0x5d08d8], edi
xor dword [0x5d0b93], 0x7c2d3c3e
neg edx
xor ecx, 0x7eb41d18
mov dword [0x5d08e0], 0xcacf5aac
ror ecx, 0xf
xor edx, ebp
add eax, 0xf1d7662d
dec esi
add esi, 0xf0a74ba5
mov dword [0x5d0b87], edx
and dword [0x5d09aa], esi
inc edx
inc eax
ror edx, 0xe
inc esi
dec ecx
or edi, dword [0x5d0f49]
add ebx, esp
inc ebx
and dword [0x5d0b1e], 0x55030374
rol esi, 0x1b
inc ebx
call fcn.004cc52c
dec ebx
ror esi, 0x1b
or dword [0x5d0a21], 0xa22ea67f
dec ebx
sub ebx, esp
inc ecx
dec esi
rol edx, 0xe
dec eax
dec edx
sub esi, 0xcd14b554
add dword [0x5d0be1], esi
xor ecx, 0x94c75288
rol edx, 0x19
dec ebx
sub dword [0x5d09dc], eax
xor esi, 0xea34b45e
sub edi, 0x1c372ec5
add dword [0x5d0aeb], esi
xor dword [0x5d0b14], ecx
sub edx, dword [0x5d0d9d]
xchg ecx, esi
inc ebx
inc ecx
add dword [0x5d08cc], esi
add esi, ebp
call fcn.005402de
xor ebx, edi
xchg ecx, edx
xchg ecx, edx
xor ebx, edi
call fcn.004ee148
sub esi, ebp
dec ecx
dec ebx
xchg ecx, esi
add edi, 0x1c372ec5
xor esi, 0xea34b45e
aaa
sbb al, 0x81
neg byte [esi - 0x4c]
xor al, 0xea
inc ebx
ror edx, 0x19
xor ecx, 0x94c75288
mov edi, eax
sub ecx, 0xf25a0821
add eax, dword [0x5d0ce5]
ror ebx, 0x14
sub ecx, edi
dec edi
rol esi, 6
mov dword [0x5d0b05], esi
dec ecx
or ecx, dword [0x5d0f55]
call fcn.00464a95
sub dword [0x5d0bde], ebx
sub dword [0x5d09bc], eax
rol edx, 9
xor ecx, 0xd2bc9185
call fcn.00508385
xor edx, 0x5e5e6153
ror ecx, 5
call fcn.00428e32
call fcn.00487899
rol ecx, 5
xor edx, 0x5e5e6153
call fcn.0040ff63
xor ecx, 0xd2bc9185
ror edx, 9
xor dword [0x5d0909], esi
call fcn.0043e484
inc ecx
or dword [0x5d0bcb], ecx
ror esi, 6
inc edi
add ecx, edi
rol ebx, 0x14
add ecx, 0xf25a0821
mov ecx, 0x57454
inc eax
xor edi, 0x1a3f697c
inc edx
or ecx, dword [0x5d0e44]
or ecx, dword [0x5d0e84]
rol edx, 0xf
xor eax, 0x43bc864b
or edi, dword [0x5d0d14]
add edx, dword [0x5d0ece]
sub esi, edi
not edx
xor edi, 0xa25476be
call fcn.00490b66
or ecx, dword [0x5d0d2b]
call fcn.004c9a08
xor edi, 0xa25476be
not edx
add esi, edi
xor eax, 0x43bc864b
ror edx, 0xf
dec edx
xor edi, 0x1a3f697c
dec eax
rep movsb byte es:[edi], byte [esi]
rol eax, 0x1f
or ecx, dword [0x5d0d1d]
or eax, dword [0x5d0eac]
rol eax, 0xe
xor eax, dword [0x5d0c74]
call fcn.00540c3e
xor ebx, edi
add esi, dword [0x5d0f04]
xor ebx, esp
xchg esi, edx
not edi
xor ecx, 0xef69bd6e
or esi, dword [0x5d0e34]
xor ecx, 0xef69bd6e
not edi
xchg esi, edx
xor ebx, esp
xor ebx, edi
call fcn.0042ba72
ror eax, 0xe
ror eax, 0x1f
call fcn.00493e74
ror ebx, 9
or esi, dword [0x5d0e22]
call fcn.00468f28
dec edx
call fcn.005130d3
or edi, dword [0x5d0d53]
xor edi, dword [0x5d0dde]
call fcn.004c70f0
or dword [0x5d0aed], ebx
not esi
xor ecx, esp
ror eax, 0x15
xchg esi, edx
rol edx, 0x15
add ecx, edx
call fcn.004ae046
rol esi, 0x11
sub eax, 0xa74391e4
add eax, 0xa74391e4
ror esi, 0x11
call fcn.004d00e9
sub ecx, edx
ror edx, 0x15
xchg esi, edx
rol eax, 0x15
xor ecx, esp
not esi
call fcn.004d75b2
inc edx
call fcn.004de7b2
rol ebx, 9
lea edi, [edi + edi*8 - 1]
push dword [ebx + 0xa]
movzx eax, cx
sub eax, 0x17e0
jmp 0x52d42e
cmp eax, 0xffffffff
jne 0x52d46d
cmp word [ebp - 0xa4], cx
ja 0x52d445
cmp cx, word [ebp - 0xac]
jbe 0x52d452
mov ax, cx
sub ax, word [ebp - 0xc]
cmp ax, word [ebp - 0x10]
ja 0x52d46a
mov ax, cx
sub ax, word [ebp - 0xc]
cmp ax, word [ebp - 0x10]
movzx eax, cx
ja 0x52d465
sub eax, 0x20
add eax, 0xffffffc9
jmp 0x52d46d
or eax, 0xffffffff
cmp eax, 0xa
jae 0x52d4a0
imul edx, edx, 0xa
mov bl, 1
add edx, eax
mov dword [ebp - 0x14], edx
cmp edx, edi
jg 0x52d499
mov ecx, esi
call fcn.005357f4
mov edx, dword [ebp - 0x14]
mov cx, ax
push 0x30
mov word [ebp - 8], cx
pop eax
jmp 0x52d21f
mov dword [ebp - 0x14], 0x1451
push 0x30
pop edx
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x68]
jae 0x52d4bc
movzx eax, cx
sub eax, edx
jmp 0x52d635
mov edx, dword [ebp - 0xb8]
cmp cx, dx
jae 0x52d625
mov edx, dword [ebp - 0xa0]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x38]
jb 0x52d4b2
mov edx, dword [ebp - 0x80]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x40]
jb 0x52d4b2
mov edx, dword [ebp - 0xb4]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x48]
jb 0x52d4b2
mov edx, dword [ebp - 0x88]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x50]
jb 0x52d4b2
mov edx, dword [ebp - 0xa8]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x58]
jb 0x52d4b2
mov edx, dword [ebp - 0x90]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x60]
jb 0x52d4b2
mov edx, dword [ebp - 0xbc]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x2c]
jb 0x52d4b2
mov edx, dword [ebp - 0x98]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x70]
jb 0x52d4b2
mov edx, dword [ebp - 0xb0]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x78]
jb 0x52d4b2
mov edx, dword [ebp - 0x30]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x34]
jb 0x52d4b2
mov edx, dword [ebp - 0x3c]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x44]
jb 0x52d4b2
mov edx, dword [ebp - 0x4c]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x54]
jb 0x52d4b2
mov edx, dword [ebp - 0x5c]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x64]
jb 0x52d4b2
mov edx, dword [ebp - 0x6c]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x74]
jb 0x52d4b2
mov edx, dword [ebp - 0x7c]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x84]
jb 0x52d4b2
mov edx, dword [ebp - 0x8c]
cmp cx, dx
jb 0x52d63a
cmp cx, word [ebp - 0x94]
jae 0x52d63a
jmp 0x52d4b2
cmp cx, word [ebp - 0x9c]
jb 0x52d4b2
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x52d65e
cmp word [ebp - 0xa4], cx
ja 0x52d64c
cmp cx, word [ebp - 0xac]
jbe 0x52d676
mov edx, dword [ebp - 0xc]
mov ax, cx
sub ax, dx
cmp ax, word [ebp - 0x10]
jbe 0x52d679
or eax, 0xffffffff
cmp eax, 0xa
jae 0x52d690
mov ecx, esi
call fcn.005357f4
mov cx, ax
mov word [ebp - 8], cx
jmp 0x52d4a0
mov edx, dword [ebp - 0xc]
mov ax, cx
sub ax, dx
cmp ax, word [ebp - 0x10]
movzx eax, cx
ja 0x52d68b
sub eax, 0x20
add eax, 0xffffffc9
jmp 0x52d65e
test bh, bh
je 0x52d697
neg dword [ebp - 0x14]
test bl, bl
jne 0x52d6b5
lea ecx, [ebp - 0xcc]
call fcn.0053222a
test al, al
je 0x52d70a
mov ecx, esi
call fcn.005357f4
mov word [ebp - 8], ax
mov ebx, dword [ebp - 0x14]
push dword [ebp - 8]
mov ecx, esi
call fcn.005384c9
mov esi, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x18]
lea edx, [esi + 8]
cmp ecx, edx
je 0x52d727
cmp byte [ecx - 1], 0
jne 0x52d6da
dec ecx
cmp ecx, edx
jne 0x52d6cf
cmp ecx, edx
je 0x52d727
cmp ebx, edi
jg 0x52d706
mov edi, 0xffffebb0
cmp ebx, edi
jl 0x52d712
xor eax, eax
cmp byte [ebp - 1], al
sete al
dec eax
and eax, 3
inc eax
imul eax, dword [ebp - 0x20]
add ebx, eax
cmp ebx, 0x1450
jle 0x52d70e
push 9
jmp 0x52d729
push 7
jmp 0x52d729
cmp ebx, edi
jge 0x52d716
push 8
jmp 0x52d729
xor eax, eax
mov dword [esi], ebx
sub ecx, edx
cmp byte [ebp - 1], al
mov dword [esi + 4], ecx
setne al
jmp 0x52d751
push 2
pop eax
jmp 0x52d751
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret