Function at 0x2a748f0
Capabilities:
Hash data with md5

Disassembly:
push 0xffffffffffffffff
push 0x2af14c1
mov eax, dword fs:[0]
push eax
sub esp, 0x998
mov eax, dword [0x2b197a0]
xor eax, esp
mov dword [esp + 0x994], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x2b197a0]
xor eax, esp
push eax
lea eax, [esp + 0x9ac]
mov dword fs:[0], eax
mov eax, dword [esp + 0x9bc]
mov ebp, dword [esp + 0x9c0]
xor ebx, ebx
mov dword [esp + 0x1c], eax
mov esi, ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x8e4], 0xf
mov dword [esp + 0x8e0], ebx
mov byte [esp + 0x8d0], bl
mov eax, esi
mov dword [esp + 0x9b4], ebx
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x2a74970
sub eax, edi
push esi
lea ecx, [esp + 0x940]
mov byte [esp + 0x9a8], bl
mov dword [esp + 0x954], ebx
mov dword [esp + 0x950], ebx
mov dword [esp + 0x940], 0x67452301
mov dword [esp + 0x944], 0xefcdab89
mov dword [esp + 0x948], 0x98badcfe
mov dword [esp + 0x94c], 0x10325476
mov dword [esp + 0x998], ebx
mov dword [esp + 0x99c], ebx
mov dword [esp + 0x9a0], ebx
mov dword [esp + 0x9a4], ebx
call fcn.02a32ad0
lea edi, [esp + 0x8b0]
lea eax, [esp + 0x93c]
call fcn.02a33440
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
mov byte [esp + 0x9d4], 1
push ebx
mov eax, edi
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push eax
mov word [ecx + 4], dx
call fcn.02a32510
lea edi, [esp + 0x40]
call fcn.02a33ec0
add esp, 0x1c
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x8d8]
mov byte [esp + 0x9c0], 2
call fcn.02a32250
cmp dword [esp + 0x3c], 0x10
jb 0x2a74a5a
mov ecx, dword [esp + 0x28]
push ecx
call fcn.02a9b828
add esp, 4
mov edi, 0xf
mov dword [esp + 0x890], edi
mov dword [esp + 0x88c], ebx
mov byte [esp + 0x87c], bl
mov edx, 0x44
mov byte [esp + 0x9b4], 3
mov eax, ebp
cmp dx, word [esp + 0x9c4]
jne 0x2a74b5b
mov dword [esp + 0x874], edi
mov dword [esp + 0x870], ebx
mov byte [esp + 0x860], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x2a74ab0
sub eax, edx
push eax
push ebp
lea ecx, [esp + 0x864]
call fcn.02a31db0
lea eax, [esp + 0x85c]
push eax
lea ecx, [esp + 0x898]
push ecx
mov byte [esp + 0x9bc], 4
call fcn.02a745b0
add esp, 8
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x884]
mov byte [esp + 0x9c0], 5
call fcn.02a32250
mov esi, 0x10
cmp dword [esp + 0x8ac], esi
jb 0x2a74b1d
mov edx, dword [esp + 0x898]
push edx
call fcn.02a9b828
add esp, 4
mov dword [esp + 0x8ac], edi
mov dword [esp + 0x8a8], ebx
mov byte [esp + 0x898], bl
cmp dword [esp + 0x874], esi
jb 0x2a74b4b
mov eax, dword [esp + 0x860]
push eax
call fcn.02a9b828
add esp, 4
mov ecx, dword [esp + 0x88c]
mov dword [esp + 0x20], ecx
jmp 0x2a74d0f
mov dword [esp + 0x8ac], edi
mov dword [esp + 0x8a8], ebx
mov byte [esp + 0x898], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x2a74b73
sub eax, esi
push eax
push ebp
lea ecx, [esp + 0x89c]
call fcn.02a31db0
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x8d4]
push edx
lea ecx, [esp + 0x8a0]
mov byte [esp + 0x9c0], 6
call fcn.02a31cb0
lea ecx, [esp + 0x894]
lea esi, [esp + 0x93c]
call fcn.02a32a70
lea edi, [esp + 0x8e8]
mov eax, esi
call fcn.02a33440
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
mov byte [esp + 0x9d4], 7
push ebx
mov edx, edi
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push edx
mov word [ecx + 4], ax
call fcn.02a32510
lea edi, [esp + 0x878]
call fcn.02a33ec0
add esp, 0x1c
push 0xa
xor ecx, ecx
lea esi, [esp + 0x28]
mov edx, edi
mov byte [esp + 0x9b8], 8
call fcn.02a5e170
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x9c0], 9
call fcn.02a32250
mov byte [esp + 0x9b4], 8
cmp dword [esp + 0x3c], 0x10
jb 0x2a74c4b
mov eax, dword [esp + 0x28]
push eax
call fcn.02a9b828
add esp, 4
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x2a74c50
sub eax, edx
push eax
push ebp
lea ecx, [esp + 0x864]
call fcn.02a337f0
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x864]
push ecx
lea ecx, [esp + 0x884]
call fcn.02a32250
mov edx, dword [esp + 0x870]
mov esi, 0x10
mov dword [esp + 0x20], edx
cmp dword [esp + 0x874], esi
jb 0x2a74ca7
mov eax, dword [esp + 0x860]
push eax
call fcn.02a9b828
add esp, 4
cmp dword [esp + 0x900], 8
mov dword [esp + 0x874], 0xf
mov dword [esp + 0x870], ebx
mov byte [esp + 0x860], bl
jb 0x2a74cda
mov ecx, dword [esp + 0x8ec]
push ecx
call fcn.02a9b828
add esp, 4
xor edx, edx
mov dword [esp + 0x900], 7
mov dword [esp + 0x8fc], ebx
mov word [esp + 0x8ec], dx
cmp dword [esp + 0x8ac], esi
jb 0x2a74d0f
mov eax, dword [esp + 0x898]
push eax
call fcn.02a9b828
add esp, 4
push 0x3fc
lea ecx, [esp + 0x448]
push ebx
push ecx
mov dword [esp + 0x44c], ebx
call fcn.02aa33a0
push 0x3fc
lea edx, [esp + 0x54]
push ebx
push edx
mov dword [esp + 0x58], ebx
call fcn.02aa33a0
add esp, 0x18
mov dword [esp + 0x858], 0xf
mov dword [esp + 0x854], ebx
mov byte [esp + 0x844], bl
xor esi, esi
mov byte [esp + 0x9b4], 0xa
mov ecx, dword [esp + 0x8e0]
lea ebp, [esi + 0x10]
lea ecx, [ecx]
xor edx, edx
mov eax, esi
div ecx
mov edi, edx
cmp edi, ecx
jbe 0x2a74d88
call fcn.02a9d484
mov ecx, dword [esp + 0x8e0]
mov eax, dword [esp + 0x8d0]
cmp dword [esp + 0x8e4], ebp
jae 0x2a74d9f
lea eax, [esp + 0x8d0]
movsx eax, byte [edi + eax]
mov dword [esp + esi*4 + 0x440], eax
mov dword [esp + esi*4 + 0x40], esi
inc esi
cmp esi, 0xff
jle 0x2a74d70
xor ecx, ecx
xor eax, eax
jmp 0x2a74dc0
mov edx, dword [esp + eax + 0x40]
mov esi, dword [esp + eax + 0x440]
add esi, edx
add ecx, esi
and ecx, 0x800000ff
jns 0x2a74ddf
dec ecx
or ecx, 0xffffff00
inc ecx
mov esi, dword [esp + ecx*4 + 0x40]
mov dword [esp + eax + 0x40], esi
add eax, 4
cmp eax, 0x400
mov dword [esp + ecx*4 + 0x40], edx
jl 0x2a74dc0
xor edi, edi
xor eax, eax
xor ebp, ebp
cmp dword [esp + 0x20], ebx
jle 0x2a74f36
jmp 0x2a74e14
mov eax, dword [esp + 0x18]
inc ebp
and ebp, 0x800000ff
jns 0x2a74e25
dec ebp
or ebp, 0xffffff00
inc ebp
mov esi, dword [esp + ebp*4 + 0x40]
lea ecx, [esi + eax]
mov eax, ecx
and eax, 0x800000ff
jns 0x2a74e3c
dec eax
or eax, 0xffffff00
inc eax
mov edx, dword [esp + eax*4 + 0x40]
mov dword [esp + 0x18], eax
lea eax, [esp + eax*4 + 0x40]
mov dword [esp + ebp*4 + 0x40], edx
mov dword [eax], esi
cmp edi, dword [esp + 0x88c]
jbe 0x2a74e5c
call fcn.02a9d484
cmp dword [esp + 0x890], 0x10
mov eax, dword [esp + 0x87c]
jae 0x2a74e74
lea eax, [esp + 0x87c]
mov ecx, dword [esp + ebp*4 + 0x40]
add ecx, esi
and ecx, 0x800000ff
jns 0x2a74e8a
dec ecx
or ecx, 0xffffff00
inc ecx
mov cl, byte [esp + ecx*4 + 0x40]
xor cl, byte [eax + edi]
or edx, 0xffffffff
sub edx, dword [esp + 0x854]
mov byte [esp + 0x14], cl
cmp edx, 1
ja 0x2a74ea9
call fcn.02a97646
mov esi, dword [esp + 0x854]
inc esi
cmp esi, 0xfffffffe
jbe 0x2a74ebb
call fcn.02a97646
mov eax, dword [esp + 0x858]
cmp eax, esi
jae 0x2a75023
mov eax, dword [esp + 0x854]
push eax
push esi
lea ecx, [esp + 0x848]
call fcn.02a32050
cmp esi, ebx
jbe 0x2a74f2b
cmp dword [esp + 0x858], 0x10
mov eax, dword [esp + 0x844]
jae 0x2a74efb
lea eax, [esp + 0x844]
mov edx, dword [esp + 0x854]
mov cl, byte [esp + 0x14]
mov byte [edx + eax], cl
cmp dword [esp + 0x858], 0x10
mov eax, dword [esp + 0x844]
mov dword [esp + 0x854], esi
jae 0x2a74f28
lea eax, [esp + 0x844]
mov byte [esi + eax], bl
inc edi
cmp edi, dword [esp + 0x20]
jl 0x2a74e10
cmp word [esp + 0x9c4], 0x44
jne 0x2a75642
cmp dword [esp + 0x854], 0xa
jae 0x2a7504c
mov esi, dword [esp + 0x1c]
push ebx
mov edi, 0xf
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
push 0x2b05e52
mov ecx, esi
mov byte [esi + 4], bl
call fcn.02a31db0
mov ebp, 0x10
cmp dword [esp + 0x858], ebp
jb 0x2a74f90
mov eax, dword [esp + 0x844]
push eax
call fcn.02a9b828
add esp, 4
mov dword [esp + 0x858], edi
mov dword [esp + 0x854], ebx
mov byte [esp + 0x844], bl
cmp dword [esp + 0x890], ebp
jb 0x2a74fbe
mov ecx, dword [esp + 0x87c]
push ecx
call fcn.02a9b828
add esp, 4
cmp dword [esp + 0x8c8], 8
mov dword [esp + 0x890], edi
mov dword [esp + 0x88c], ebx
mov byte [esp + 0x87c], bl
jb 0x2a74fed
mov edx, dword [esp + 0x8b4]
push edx
call fcn.02a9b828
add esp, 4
xor eax, eax
mov dword [esp + 0x8c8], 7
mov dword [esp + 0x8c4], ebx
mov word [esp + 0x8b4], ax
cmp dword [esp + 0x8e4], ebp
jb 0x2a75788
mov ecx, dword [esp + 0x8d0]
push ecx
jmp 0x2a75780
cmp esi, ebx
jne 0x2a74ee1
cmp eax, 0x10
mov eax, dword [esp + 0x844]
mov dword [esp + 0x854], ebx
jae 0x2a75045
lea eax, [esp + 0x844]
mov byte [eax], bl
jmp 0x2a74f2b
push 0xa
xor ecx, ecx
lea esi, [esp + 0x8ec]
lea edx, [esp + 0x844]
call fcn.02a5e170
mov dword [esp + 0x8ac], 0xf
mov dword [esp + 0x8a8], ebx
mov byte [esp + 0x898], bl
push 0xffffffffffffffff
mov ecx, 0xa
lea esi, [esp + 0x924]
lea edx, [esp + 0x844]
mov byte [esp + 0x9b8], 0xc
call fcn.02a5e170
mov byte [esp + 0x9b4], 0xd
mov esi, dword [esp + 0x8d0]
mov edi, 0x10
cmp dword [esp + 0x8e4], edi
jae 0x2a750c2
lea esi, [esp + 0x8d0]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x2a750c7
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x928]
call fcn.02a337f0
mov eax, dword [esp + 0x924]
mov byte [esp + 0x9a4], bl
mov dword [esp + 0x950], ebx
mov dword [esp + 0x94c], ebx
mov dword [esp + 0x93c], 0x67452301
mov dword [esp + 0x940], 0xefcdab89
mov dword [esp + 0x944], 0x98badcfe
mov dword [esp + 0x948], 0x10325476
mov dword [esp + 0x994], ebx
mov dword [esp + 0x998], ebx
mov dword [esp + 0x99c], ebx
mov dword [esp + 0x9a0], ebx
cmp dword [esp + 0x938], edi
jae 0x2a75152
lea eax, [esp + 0x924]
push eax
mov eax, dword [esp + 0x938]
lea ecx, [esp + 0x940]
call fcn.02a32ad0
lea edi, [esp + 0x85c]
lea eax, [esp + 0x93c]
call fcn.02a33440
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
mov byte [esp + 0x9d4], 0xe
push ebx
mov eax, edi
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push eax
mov word [ecx + 4], dx
call fcn.02a32510
lea edi, [esp + 0x920]
call fcn.02a33ec0
add esp, 0x1c
push 0xa
xor ecx, ecx
lea esi, [esp + 0x28]
mov edx, edi
mov byte [esp + 0x9b8], 0xf
call fcn.02a5e170
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x9c0], 0x10
call fcn.02a32250
mov ebp, 0x10
mov byte [esp + 0x9b4], 0xf
cmp dword [esp + 0x3c], ebp
jb 0x2a751fe
mov ecx, dword [esp + 0x28]
push ecx
call fcn.02a9b828
add esp, 4
mov esi, dword [esp + 0x908]
cmp dword [esp + 0x91c], ebp
jae 0x2a75215
lea esi, [esp + 0x908]
mov eax, dword [esp + 0x8ec]
cmp dword [esp + 0x900], ebp
jae 0x2a75230
lea eax, [esp + 0x8ec]
lea esp, [esp]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x2a75250
cmp cl, bl
je 0x2a7524c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x2a75250
add eax, 2
add esi, 2
cmp cl, bl
jne 0x2a75230
xor eax, eax
jmp 0x2a75255
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x2a75476
push 0xffffffffffffffff
mov ecx, 0xa
lea esi, [esp + 0x28]
lea edx, [esp + 0x844]
call fcn.02a5e170
mov byte [esp + 0x9b4], 0x11
cmp dword [eax + 0x18], ebp
jb 0x2a75286
mov esi, dword [eax + 4]
jmp 0x2a75289
lea esi, [eax + 4]
mov edi, dword [esp + 0x1c]
mov ebp, 0xf
mov eax, esi
mov dword [edi + 0x18], ebp
mov dword [edi + 0x14], ebx
mov byte [edi + 4], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x2a752a0
sub eax, edx
push eax
push esi
mov ecx, edi
call fcn.02a31db0
mov esi, 0x10
cmp dword [esp + 0x3c], esi
jb 0x2a752ca
mov edx, dword [esp + 0x28]
push edx
call fcn.02a9b828
add esp, 4
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
cmp dword [esp + 0x91c], esi
jb 0x2a752ef
mov eax, dword [esp + 0x908]
push eax
call fcn.02a9b828
add esp, 4
cmp dword [esp + 0x874], 8
mov dword [esp + 0x91c], ebp
mov dword [esp + 0x918], ebx
mov byte [esp + 0x908], bl
jb 0x2a7531e
mov ecx, dword [esp + 0x860]
push ecx
call fcn.02a9b828
add esp, 4
xor edx, edx
mov dword [esp + 0x874], 7
mov dword [esp + 0x870], ebx
mov word [esp + 0x860], dx
cmp dword [esp + 0x938], esi
jb 0x2a75353
mov eax, dword [esp + 0x924]
push eax
call fcn.02a9b828
add esp, 4
mov dword [esp + 0x938], ebp
mov dword [esp + 0x934], ebx
mov byte [esp + 0x924], bl
cmp dword [esp + 0x8ac], esi
jb 0x2a75381
mov ecx, dword [esp + 0x898]
push ecx
call fcn.02a9b828
add esp, 4
mov dword [esp + 0x8ac], ebp
mov dword [esp + 0x8a8], ebx
mov byte [esp + 0x898], bl
cmp dword [esp + 0x900], esi
jb 0x2a753af
mov edx, dword [esp + 0x8ec]
push edx
call fcn.02a9b828
add esp, 4
mov dword [esp + 0x900], ebp
mov dword [esp + 0x8fc], ebx
mov byte [esp + 0x8ec], bl
cmp dword [esp + 0x858], esi
jb 0x2a753dd
mov eax, dword [esp + 0x844]
push eax
call fcn.02a9b828
add esp, 4
mov dword [esp + 0x858], ebp
mov dword [esp + 0x854], ebx
mov byte [esp + 0x844], bl
cmp dword [esp + 0x890], esi
jb 0x2a7540b
mov ecx, dword [esp + 0x87c]
push ecx
call fcn.02a9b828
add esp, 4
cmp dword [esp + 0x8c8], 8
mov dword [esp + 0x890], ebp
mov dword [esp + 0x88c], ebx
mov byte [esp + 0x87c], bl
jb 0x2a7543a
mov edx, dword [esp + 0x8b4]
push edx
call fcn.02a9b828
add esp, 4
xor eax, eax
mov dword [esp + 0x8c8], 7
mov dword [esp + 0x8c4], ebx
mov word [esp + 0x8b4], ax
cmp dword [esp + 0x8e4], esi
jb 0x2a7546f
mov ecx, dword [esp + 0x8d0]
push ecx
call fcn.02a9b828
add esp, 4
mov eax, edi
jmp 0x2a7578a
mov edi, dword [esp + 0x1c]
push ebx
mov esi, 0xf
mov dword [edi + 0x18], esi
mov dword [edi + 0x14], ebx
push 0x2b05e52
mov ecx, edi
mov byte [edi + 4], bl
call fcn.02a31db0
cmp dword [esp + 0x91c], ebp
jb 0x2a754ae
mov edx, dword [esp + 0x908]
push edx
call fcn.02a9b828
add esp, 4
mov ebp, 8
mov dword [esp + 0x91c], esi
mov dword [esp + 0x918], ebx
mov byte [esp + 0x908], bl
cmp dword [esp + 0x874], ebp
jb 0x2a754e1
mov eax, dword [esp + 0x860]
push eax
call fcn.02a9b828
add esp, 4
xor ecx, ecx
cmp dword [esp + 0x938], 0x10
mov dword [esp + 0x874], 7
mov dword [esp + 0x870], ebx
mov word [esp + 0x860], cx
jb 0x2a75517
mov edx, dword [esp + 0x924]
push edx
call fcn.02a9b828
add esp, 4
cmp dword [esp + 0x8ac], 0x10
mov dword [esp + 0x938], esi
mov dword [esp + 0x934], ebx
mov byte [esp + 0x924], bl
jb 0x2a75546
mov eax, dword [esp + 0x898]
push eax
call fcn.02a9b828
add esp, 4
cmp dword [esp + 0x900], 0x10
mov dword [esp + 0x8ac], esi
mov dword [esp + 0x8a8], ebx
mov byte [esp + 0x898], bl
jb 0x2a75575
mov ecx, dword [esp + 0x8ec]
push ecx
call fcn.02a9b828
add esp, 4
cmp dword [esp + 0x858], 0x10
mov dword [esp + 0x900], esi
mov dword [esp + 0x8fc], ebx
mov byte [esp + 0x8ec], bl
jb 0x2a755a4
mov edx, dword [esp + 0x844]
push edx
call fcn.02a9b828
add esp, 4
cmp dword [esp + 0x890], 0x10
mov dword [esp + 0x858], esi
mov dword [esp + 0x854], ebx
mov byte [esp + 0x844], bl
jb 0x2a755d3
mov eax, dword [esp + 0x87c]
push eax
call fcn.02a9b828
add esp, 4
mov dword [esp + 0x890], esi
mov dword [esp + 0x88c], ebx
mov byte [esp + 0x87c], bl
cmp dword [esp + 0x8c8], ebp
jb 0x2a75601
mov ecx, dword [esp + 0x8b4]
push ecx
call fcn.02a9b828
add esp, 4
xor edx, edx
cmp dword [esp + 0x8e4], 0x10
mov dword [esp + 0x8c8], 7
mov dword [esp + 0x8c4], ebx
mov word [esp + 0x8b4], dx
jb 0x2a7546f
mov eax, dword [esp + 0x8d0]
push eax
call fcn.02a9b828
add esp, 4
mov eax, edi
jmp 0x2a7578a
lea ecx, [esp + 0x840]
push ecx
lea edx, [esp + 0x860]
push edx
call fcn.02a74310
add esp, 8
mov byte [esp + 0x9b4], 0x12
cmp dword [esp + 0x874], 0x10
mov edi, dword [esp + 0x860]
jae 0x2a7567a
lea edi, [esp + 0x860]
call fcn.02a74810
mov esi, dword [esp + 0x1c]
mov edi, eax
mov ebp, 0xf
mov ecx, edi
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
mov byte [esi + 4], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
cmp al, bl
jne 0x2a75698
sub ecx, edx
push ecx
push edi
mov ecx, esi
call fcn.02a31db0
mov edi, 0x10
cmp dword [esp + 0x874], edi
jb 0x2a756c8
mov eax, dword [esp + 0x860]
push eax
call fcn.02a9b828
add esp, 4
mov dword [esp + 0x874], ebp
mov dword [esp + 0x870], ebx
mov byte [esp + 0x860], bl
cmp dword [esp + 0x858], edi
jb 0x2a756f6
mov ecx, dword [esp + 0x844]
push ecx
call fcn.02a9b828
add esp, 4
mov dword [esp + 0x858], ebp
mov dword [esp + 0x854], ebx
mov byte [esp + 0x844], bl
cmp dword [esp + 0x890], edi
jb 0x2a75724
mov edx, dword [esp + 0x87c]
push edx
call fcn.02a9b828
add esp, 4
cmp dword [esp + 0x8c8], 8
mov dword [esp + 0x890], ebp
mov dword [esp + 0x88c], ebx
mov byte [esp + 0x87c], bl
jb 0x2a75753
mov eax, dword [esp + 0x8b4]
push eax
call fcn.02a9b828
add esp, 4
xor ecx, ecx
mov dword [esp + 0x8c8], 7
mov dword [esp + 0x8c4], ebx
mov word [esp + 0x8b4], cx
cmp dword [esp + 0x8e4], edi
jb 0x2a75788
mov edx, dword [esp + 0x8d0]
push edx
call fcn.02a9b828
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x9ac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x994]
xor ecx, esp
call fcn.02a9b567
add esp, 0x9a4
ret