Function at 0x465f90
Capabilities:
Hash data using sha512

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x403506
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x403148
xor edi, edi
mov esi, dword [fcn.004011d8]
push edi
push 0x7ff
push 1
push 0x11
push 0x479028
push 1
push 0x80
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
call esi
add esp, 0x1c
mov dword [0x47902c], edi
push 0x2bce3357
push 0x6b315ece
push 0xcbb64068
push 0x37bf51f5
push 0x6b17d1f2
push 0xe12c4247
push 0xf8bce6e5
push 0x63a440f2
push 0x77037d81
push 0x2deb33a0
push 0xf4a13945
push 0xd898c296
push 0x5ac635d8
push 0xaa3a93e7
push 0xb3ebbd55
push 0x769886bc
push 0x651d06b0
push 0xcc53b0f6
push 0x3bce3c3e
push 0x27d2604b
push 0xffffffffffffffff
push 1
push edi
push edi
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push 0x76f8b7c0
push 0x76f9cf80
push 0x76f299d0
call fcn.00465eb0
push 0x181d9c6e
push 0xfe814112
push 0x314088f
push 0x5013875a
push 0xc656398d
push 0x8a2ed19d
push 0x2a85c8ed
push 0xd3ec2aef
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xfffffffffffffffe
push 0xffffffffffffffff
push edi
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xbce6faad
push 0xa7179e84
push 0xf3b9cac2
push 0xfc632551
push 0x4fe342e2
push 0xfe1a7f9b
push 0x8ee7eb4a
push 0x7c0f9e16
call fcn.00465eb0
push 0x581a0db2
push 0x48b0a77a
push 0xecec196a
push 0xccc52973
push 0x3617de4a
push 0x96262c6f
push 0x5d9e98bf
push 0x9292dc29
push 0xf8f41dbd
push 0x289a147c
push 0xe9da3113
push 0xb5f0b8c0
push 0xa60b1ce
push 0x1d7e819d
push 0x7a431d7c
push 0x90ea0e5f
push 0xaa87ca22
push 0xbe8b0537
push 0x8eb1c71e
push 0xf320ad74
push 0x6e1d3b62
push 0x8ba79b98
push 0x59f741e0
push 0x82542a38
push 0x5502f25d
push 0xbf55296c
push 0x3a545e38
push 0x72760ab7
push 0xb3312fa7
push 0xe23ee7e4
push 0x988e056b
push 0xe3f82d19
call fcn.00465eb0
push 0x76f988da
push 0x5cb0a9dc
push 0x4a7484aa
push 0x2de92c6f
push 0x240ca1cc
push 0xfc19dc6
push 0xefbe4786
push 0xe49b69c1
push 0xc19bf174
push 0x9bdc06a7
push 0x80deb1fe
push 0x72be5d74
push 0x550c7dc3
push 0x243185be
push 0x12835b01
push 0xd807aa98
push 0xab1c5ed5
push 0x923f82a4
push 0x59f111f1
push 0x3956c25b
push 0xe9b5dba5
push 0xb5c0fbcf
push 0x71374491
push 0x428a2f98
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xc7634d81
push 0xf4372ddf
call fcn.00465eb0
push 0x682e6ff3
push 0x5b9cca4f
push 0x4ed8aa4a
push 0x391c0cb3
push 0x34b0bcb5
push 0x2748774c
push 0x1e376c08
push 0x19a4c116
push 0x106aa070
push 0xf40e3585
push 0xd6990624
push 0xd192e819
push 0xc76c51a3
push 0xc24b8b70
push 0xa81a664b
push 0xa2bfe8a1
push 0x92722c85
push 0x81c2c92e
push 0x766a0abb
push 0x650a7354
push 0x53380d13
push 0x4d2c6dfc
push 0x2e1b2138
push 0x27b70a85
push 0x14292967
push 0x6ca6351
push 0xd5a79147
push 0xc6e00bf3
push 0xbf597fc7
push 0xb00327c8
push 0xa831c66d
push 0x983e5152
call fcn.00465eb0
push 0x550c7dc3
push 0xd5ffb4e2
push 0x243185be
push 0x4ee4b28c
push 0x12835b01
push 0x45706fbe
push 0xd807aa98
push 0xa3030242
push 0xab1c5ed5
push 0xda6d8118
push 0x923f82a4
push 0xaf194f9b
push 0x59f111f1
push 0xb605d019
push 0x3956c25b
push 0xf348b538
push 0xe9b5dba5
push 0x8189dbbc
push 0xb5c0fbcf
push 0xec4d3b2f
push 0x71374491
push 0x23ef65cd
push 0x428a2f98
push 0xd728ae22
push 0xc67178f2
push 0xbef9a3f7
push 0xa4506ceb
push 0x90befffa
push 0x8cc70208
push 0x84c87814
push 0x78a5636f
push 0x748f82ee
call fcn.00465eb0
push 0xbf597fc7
push 0xbeef0ee4
push 0xb00327c8
push 0x98fb213f
push 0xa831c66d
push 0x2db43210
push 0x983e5152
push 0xee66dfab
push 0x76f988da
push 0x831153b5
push 0x5cb0a9dc
push 0xbd41fbd4
push 0x4a7484aa
push 0x6ea6e483
push 0x2de92c6f
push 0x592b0275
push 0x240ca1cc
push 0x77ac9c65
push 0xfc19dc6
push 0x8b8cd5b5
push 0xefbe4786
push 0x384f25e3
push 0xe49b69c1
push 0x9ef14ad2
push 0xc19bf174
push 0xcf692694
push 0x9bdc06a7
push 0x25c71235
push 0x80deb1fe
push 0x3b1696b1
push 0x72be5d74
push 0xf27b896f
call fcn.00465eb0
push 0xc76c51a3
push 0x654be30
push 0xc24b8b70
push 0xd0f89791
push 0xa81a664b
push 0xbc423001
push 0xa2bfe8a1
push 0x4cf10364
push 0x92722c85
push 0x1482353b
push 0x81c2c92e
push 0x47edaee6
push 0x766a0abb
push 0x3c77b2a8
push 0x650a7354
push 0x8baf63de
push 0x53380d13
push 0x9d95b3df
push 0x4d2c6dfc
push 0x5ac42aed
push 0x2e1b2138
push 0x5c26c926
push 0x27b70a85
push 0x46d22ffc
push 0x14292967
push 0xa0e6e70
push 0x6ca6351
push 0xe003826f
push 0xd5a79147
push 0x930aa725
push 0xc6e00bf3
push 0x3da88fc2
call fcn.00465eb0
push 0x8cc70208
push 0x1a6439ec
push 0x84c87814
push 0xa1f0ab72
push 0x78a5636f
push 0x43172f60
push 0x748f82ee
push 0x5defb2fc
push 0x682e6ff3
push 0xd6b2b8a3
push 0x5b9cca4f
push 0x7763e373
push 0x4ed8aa4a
push 0xe3418acb
push 0x391c0cb3
push 0xc5c95a63
push 0x34b0bcb5
push 0xe19b48a8
push 0x2748774c
push 0xdf8eeb99
push 0x1e376c08
push 0x5141ab53
push 0x19a4c116
push 0xb8d2d0c8
push 0x106aa070
push 0x32bbd1b8
push 0xf40e3585
push 0x5771202a
push 0xd6990624
push 0x5565a910
push 0xd192e819
push 0xd6ef5218
call fcn.00465eb0
push 0x431d67c4
push 0x9c100d4c
push 0x3c9ebe0a
push 0x15c9bebc
push 0x32caab7b
push 0x40c72493
push 0x28db77f5
push 0x23047d84
push 0x1b710b35
push 0x131c471b
push 0x113f9804
push 0xbef90dae
push 0xa637dc5
push 0xa2c898a6
push 0x6f067aa
push 0x72176fba
push 0xf57d4f7f
push 0xee6ed178
push 0xeada7dd6
push 0xcde0eb1e
push 0xd186b8c7
push 0x21c0c207
push 0xca273ece
push 0xea26619c
push 0xc67178f2
push 0xe372532b
push 0xbef9a3f7
push 0xb2c67915
push 0xa4506ceb
push 0xde82bde9
push 0x90befffa
push 0x23631e28
call fcn.00465eb0
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 5
push 0x6b
push 0x20657479
push 0x622d3233
push 0x20646e61
push 0x70786500
push 0x6b206574
push 0x79622d36
push 0x3120646e
push 0x61707865
push 0x6c44198c
push 0x4a475817
push 0x5fcb6fab
push 0x3ad6faec
push 0x597f299c
push 0xfc657e2a
push 0x4cc5d4be
push 0xcb3e42b6
call fcn.00465eb0
push 0xf5389d92
push 0x8f40a351
push 0xa89f3c50
push 0x7f02f945
push 0x85334d43
push 0xfbaaefd0
push 0xcf584c4a
push 0x39becb6a
push 0x5bb1fc20
push 0xed00d153
push 0x842fe329
push 0xb3d63b52
push 0xa05a6e1b
push 0x1a2c8309
push 0x75b227eb
push 0xe2801207
push 0x9a059618
push 0xc323c704
push 0x1531d871
push 0xf1e5a534
push 0xccf73f36
push 0x2693fdb7
push 0xc072a49c
push 0xafa2d4ad
push 0xf04759fa
push 0x7dc982ca
push 0x76abd7fe
push 0x2b670130
push 0xc56f6bf2
push 0x7b777c63
push 0xfc
push edi
call fcn.00465eb0
push 0x6842e6bf
push 0xd89a18c
push 0xdf2855ce
push 0xe9871e9b
push 0x948ed969
push 0x1198f8e1
push 0x9e1dc186
push 0xb9573561
push 0xef60348
push 0x66b53e70
push 0x8a8bbd4b
push 0x1f74dde8
push 0xc6b4a61c
push 0x2e2578ba
push 0x8ae7a65
push 0xeaf4566c
push 0xa94ed58d
push 0x6d37c8e7
push 0x79e49591
push 0x62acd3c2
push 0x5c240649
push 0xa3a32e0
push 0xdb0b5ede
push 0x14b8ee46
push 0x88902a22
push 0xdc4f8160
push 0x73195d64
push 0x3d7ea7c4
push 0x1744975f
push 0xec130ccd
push 0xd2f3ff10
push 0x21dab6bc
call fcn.00465eb0
push 0xb80558e4
push 0xf70ad3bc
push 0x8c00abd8
push 0x90849d8d
push 0xa7574615
push 0x5edab9ed
push 0xfd504870
push 0x6c92b665
push 0x5dcc5ca4
push 0xd4169868
push 0x8664f6f8
push 0x7225d18b
push 0x6d49a25b
push 0x76b224d9
push 0x2866a12e
push 0x84ec3fa
push 0x420b954c
push 0xee3d23c2
push 0xa632947b
push 0x54cbe9de
push 0xc444438e
push 0x3487ff2f
push 0x9b8239e3
push 0x7cfbd7f3
push 0x819ea340
push 0xbf38a536
push 0x30d56a09
push 0x52361b80
push 0x40201008
push 0x402018d
push 0x16bb54b0
push 0xf2d9941
call fcn.00465eb0
push 0x833cbbeb
push 0xc8b0f52a
push 0xae4d3be0
push 0xa0ef9cc9
push 0x939f7ae5
push 0x2d0d4ab5
push 0x19a97f51
push 0x605fec80
push 0x27591012
push 0xb131c707
push 0x8833a8dd
push 0x1ff45acd
push 0x78fec0db
push 0x9a2079d2
push 0xc64b3e56
push 0xfc1bbe18
push 0xaa0e62b7
push 0x6f89c529
push 0x1d711af1
push 0x476edf75
push 0x1ce837f9
push 0xe28535ad
push 0xe72274ac
push 0x9673e6b4
push 0xf0cecff2
push 0x97eadc67
push 0x4f411191
push 0x3a6b8a13
push 0x103bdaf
push 0xc1020f3f
push 0xca8f1e2c
push 0xd00645b3
call fcn.00465eb0
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push 1
push 1
push edi
push 0x7d0c21
push 0x55631469
push 0xe126d677
push 0xba7e042b
push 0x17619953
call fcn.00465eb0
mov ebx, dword [ebp + 8]
push edi
push 0x79f
push 1
push 0x11
push ebx
push 1
push 0x80
call esi
mov eax, dword [0x479028]
mov esi, dword [0x4012f4]
add esp, 0x1c
lea ecx, [ebp - 0x18]
push eax
push ecx
call esi
mov eax, dword [ebp - 0x18]
cmp eax, edi
je 0x46697e
cmp word [eax], 1
jne 0x46697e
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
neg ecx
cmp ecx, edx
mov dword [ebp - 0x20], ecx
jb 0x466979
call dword [fcn.0040117c]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], ecx
jmp 0x466987
call dword [fcn.0040117c]
mov dword [ebp - 0x28], eax
mov edx, dword [ebx]
lea eax, [ebp - 0x14]
push edx
push eax
call esi
mov eax, dword [ebp - 0x14]
cmp eax, edi
je 0x4669b1
cmp word [eax], 1
jne 0x4669b1
mov esi, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
neg esi
cmp esi, ecx
jb 0x4669b9
call dword [fcn.0040117c]
jmp 0x4669b9
call dword [fcn.0040117c]
mov esi, eax
mov ecx, dword [ebx]
push ecx
push 1
call dword [fcn.0040125c]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
add eax, 1
jo 0x466a36
push eax
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x28]
add eax, edx
mov edx, dword [ecx + 0xc]
add edx, esi
push eax
push edx
call fcn.0040a1a4
call dword [fcn.004010ac]
mov esi, dword [fcn.00401364]
lea eax, [ebp - 0x14]
push eax
call esi
lea ecx, [ebp - 0x18]
push ecx
call esi
push 0x479028
push edi
call dword [fcn.00401150]
push 0x466a23
jmp 0x466a22
ret
call dword [fcn.00401284]
nop
nop
nop
nop