Function at 0x446180
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x14]
push edi
lea ecx, [esp + 0x14]
push eax
push ecx
push esi
call fcn.004a9760
lea edx, [esp + 0x24]
lea ecx, [esp + 0x1c]
lea eax, [esi + 2]
push edx
push ecx
push eax
call fcn.004a9760
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x2c]
mov edx, ebp
xor eax, eax
sub edx, edi
xor ecx, ecx
add edx, esi
mov esi, dword [esp + 0x6c]
add ebx, ebp
mov dword [esp + 0x28], edx
mov ax, word [esi + 2]
mov cx, word [esi]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x5c]
lea edi, [esi + 4]
push eax
push ecx
push edi
push ebx
push ebp
push edx
push fcn.004d52c0
call fcn.004a97c0
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x50]
inc eax
push ecx
push edx
push eax
call fcn.004a9760
mov eax, dword [esp + 0x5c]
add esp, 0x40
test eax, eax
je 0x446cd3
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
add edx, ebx
mov dword [esp + 0x38], edx
mov edx, ecx
cmp edx, eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ebx
jge 0x4462bc
mov edx, dword [esp + 0x1c]
jmp 0x446251
mov ecx, dword [esp + 0x40]
add edx, ecx
cmp edx, eax
jg 0x44627c
xor eax, eax
xor edx, edx
mov ax, word [esi + 2]
mov dx, word [esi]
push eax
mov eax, dword [esp + 0x54]
push edx
push edi
push ebx
inc eax
push ecx
push eax
push fcn.004d52c0
call fcn.004a97c0
add esp, 0x1c
jmp 0x4462a6
xor edx, edx
xor eax, eax
mov dx, word [esi + 2]
mov ax, word [esi]
push edx
mov edx, dword [esp + 0x54]
push eax
push edi
push ebx
push ecx
lea ecx, [esp + 0x40]
lea eax, [edx + 1]
push ecx
push eax
push fcn.004d52c0
call fcn.004a9980
add esp, 0x20
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
add ecx, edx
cmp ecx, eax
mov dword [esp + 0x40], ecx
jl 0x44624d
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 2]
mov dx, word [esi]
push ecx
push edx
push edi
push ebx
push eax
mov eax, dword [esp + 0x64]
add eax, 2
push eax
push fcn.004d52c0
call fcn.004a97c0
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x34]
push ecx
push edx
push eax
call fcn.004a9760
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x38]
push edx
lea eax, [ecx + 6]
lea ecx, [esp + 0x44]
push ecx
push eax
call fcn.004a9760
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x80]
add edx, ebx
mov dword [esp + 0x48], edx
mov edx, ebx
sub edx, ecx
lea ecx, [esp + 0x54]
add edx, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x44], edx
lea edx, [esp + 0x4c]
add eax, 3
push ecx
push edx
push eax
call fcn.004a9760
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x54]
add eax, ebp
add esp, 0x40
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], eax
jge 0x4463e5
mov edx, dword [esp + 0x20]
jmp 0x446378
mov ecx, dword [esp + 0x40]
add edx, ecx
cmp edx, eax
jg 0x4463a5
xor edx, edx
xor eax, eax
mov dx, word [esi + 2]
mov ax, word [esi]
push edx
push eax
push edi
push ecx
mov ecx, dword [esp + 0x60]
push ebp
lea eax, [ecx + 3]
push eax
push fcn.004d52c0
call fcn.004a97c0
add esp, 0x1c
jmp 0x4463cf
xor edx, edx
xor eax, eax
mov dx, word [esi + 2]
mov ax, word [esi]
push edx
mov edx, dword [esp + 0x54]
push eax
push edi
push ecx
lea ecx, [esp + 0x3c]
push ebp
lea eax, [edx + 3]
push ecx
push eax
push fcn.004d52c0
call fcn.004a9980
add esp, 0x20
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
add ecx, edx
cmp ecx, eax
mov dword [esp + 0x40], ecx
jl 0x446374
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 2]
mov dx, word [esi]
push ecx
push edx
push edi
push eax
mov eax, dword [esp + 0x60]
push ebp
add eax, 6
push eax
push fcn.004d52c0
call fcn.004a97c0
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x34]
push ecx
add eax, 2
push edx
push eax
call fcn.004a9760
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x38]
push edx
lea eax, [ecx + 8]
lea ecx, [esp + 0x44]
push ecx
push eax
call fcn.004a9760
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x80]
add edx, ebx
mov dword [esp + 0x48], edx
mov edx, ebx
sub edx, ecx
lea ecx, [esp + 0x54]
add edx, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x44], edx
lea edx, [esp + 0x50]
add eax, 5
push ecx
push edx
push eax
call fcn.004a9760
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x54]
add ecx, ebp
add esp, 0x40
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x10]
cmp eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ecx
jge 0x446535
mov edx, dword [esp + 0x20]
jmp 0x4464a8
mov eax, dword [esp + 0x40]
add edx, eax
cmp edx, ecx
jg 0x4464e3
xor edx, edx
xor ecx, ecx
mov dx, word [esi + 2]
mov cx, word [esi]
push edx
push ecx
mov ecx, dword [esp + 0x50]
push edi
push eax
mov eax, dword [esp + 0x2c]
mov edx, ebp
sub edx, eax
mov eax, dword [esp + 0x60]
add edx, ecx
add eax, 5
push edx
push eax
push fcn.004d52c0
call fcn.004a97c0
add esp, 0x1c
jmp 0x44651b
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 2]
mov dx, word [esi]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x50]
push edi
push eax
mov eax, ebp
sub eax, ecx
lea ecx, [esp + 0x3c]
add eax, edx
mov edx, dword [esp + 0x60]
push eax
push ecx
lea eax, [edx + 5]
push eax
push fcn.004d52c0
call fcn.004a9980
add esp, 0x20
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
add eax, edx
cmp eax, ecx
mov dword [esp + 0x40], eax
jl 0x4464a4
mov edx, dword [esp + 0x50]
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
lea eax, [edx + 8]
push ecx
push eax
call fcn.004a9760
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ax, word [esi + 2]
xor ecx, ecx
mov cx, word [esi]
push eax
push ecx
mov ecx, dword [esp + 0x5c]
push edi
push edx
mov edx, dword [esp + 0x38]
mov eax, ebp
sub eax, edx
add eax, ecx
mov ecx, dword [esp + 0x6c]
push eax
lea eax, [ecx + 8]
push eax
push fcn.004d52c0
call fcn.004a97c0
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x40]
lea eax, [esp + 0x3c]
push edx
push eax
lea eax, [ecx + 6]
push eax
call fcn.004a9760
mov ecx, dword [esp + 0x84]
lea edx, [esp + 0x4c]
lea eax, [esp + 0x44]
push edx
push eax
lea eax, [ecx + 8]
push eax
call fcn.004a9760
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x88]
add edx, ebp
mov dword [esp + 0x54], edx
mov edx, ebp
sub edx, ecx
add esp, 0x40
add edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], edx
lea ecx, [esp + 0x20]
lea edx, [esp + 0x1c]
add eax, 7
push ecx
push edx
push eax
call fcn.004a9760
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edx, ebx
cmp eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], edx
jge 0x4466ac
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
add edx, eax
cmp edx, ecx
jg 0x44665a
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 2]
mov dx, word [esi]
push ecx
push edx
mov edx, dword [esp + 0x28]
mov ecx, ebx
sub ecx, edx
mov edx, dword [esp + 0x54]
add ecx, edx
mov edx, dword [esp + 0x58]
push edi
push ecx
push eax
lea eax, [edx + 7]
push eax
push fcn.004d52c0
call fcn.004a97c0
add esp, 0x1c
jmp 0x446692
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 2]
mov dx, word [esi]
push ecx
push edx
mov edx, dword [esp + 0x28]
mov ecx, ebx
sub ecx, edx
mov edx, dword [esp + 0x54]
add ecx, edx
push edi
push ecx
push eax
mov eax, dword [esp + 0x64]
lea edx, [esp + 0x40]
add eax, 7
push edx
push eax
push fcn.004d52c0
call fcn.004a9980
add esp, 0x20
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x10]
add eax, edx
cmp eax, ecx
mov dword [esp + 0x40], eax
jl 0x44661b
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x28]
lea edx, [esp + 0x18]
push ecx
inc eax
push edx
push eax
call fcn.004a9760
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x30]
lea edx, [esp + 0x24]
push ecx
add eax, 7
push edx
push eax
call fcn.004a9760
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x64]
add ecx, ebx
mov dword [esp + 0x40], ecx
mov ecx, ebx
sub ecx, eax
lea eax, [esp + 0x2c]
add ecx, edx
lea edx, [esp + 0x30]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x68]
push edx
push eax
lea eax, [ecx + 3]
push eax
call fcn.004a9760
mov ecx, dword [esp + 0x74]
lea edx, [esp + 0x3c]
lea eax, [esp + 0x34]
push edx
push eax
lea eax, [ecx + 5]
push eax
call fcn.004a9760
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x78]
add edx, ebp
mov dword [esp + 0x44], edx
mov edx, ebp
sub edx, ecx
lea ecx, [esp + 0x50]
add edx, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x40], edx
lea edx, [esp + 0x4c]
add eax, 4
push ecx
push edx
push eax
call fcn.004a9760
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x60]
add esp, 0x3c
cmp eax, ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ecx
jge 0x44684b
mov ecx, dword [esp + 0x14]
cmp ecx, edx
mov dword [esp + 0x40], ecx
jge 0x446839
mov ecx, dword [esp + 0x1c]
jmp 0x4467a1
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x40]
add edx, ecx
mov ecx, dword [esp + 0x10]
cmp edx, ecx
jg 0x4467e9
mov ecx, dword [esp + 0x20]
lea edx, [eax + ecx]
mov ecx, dword [esp + 0x24]
cmp edx, ecx
jge 0x4467e9
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 2]
mov dx, word [esi]
push ecx
mov ecx, dword [esp + 0x54]
push edx
push edi
push eax
mov eax, dword [esp + 0x50]
push eax
lea eax, [ecx + 4]
push eax
push fcn.004d52c0
call fcn.004a97c0
add esp, 0x1c
jmp 0x446817
xor edx, edx
xor ecx, ecx
mov dx, word [esi + 2]
mov cx, word [esi]
push edx
mov edx, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x58]
push edi
push eax
lea eax, [esp + 0x3c]
push edx
push eax
lea eax, [ecx + 4]
push eax
push fcn.004d52c0
call fcn.004a9980
add esp, 0x20
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
add eax, ecx
cmp eax, edx
mov dword [esp + 0x40], eax
jl 0x44679d
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x54], eax
jl 0x44678b
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x446cd3
mov esi, dword [esp + 0x50]
lea edx, [esp + 0x58]
lea ecx, [esp + 0x40]
push edx
lea eax, [esi + 0xb]
push ecx
push eax
call fcn.004a9760
lea edx, [esp + 0x50]
lea ecx, [esp + 0x60]
lea eax, [esi + 0xc]
push edx
push ecx
push eax
call fcn.004a9760
mov eax, dword [esp + 0x58]
add esp, 0x18
test eax, eax
je 0x44696d
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x44696d
mov esi, dword [esp + 0x48]
lea edx, [ecx + eax + 0x50]
cmp esi, edx
jle 0x44696d
mov ecx, esi
sub ecx, eax
sub ecx, 0x14
push ecx
call fcn.004c12b0
add eax, 0xa
mov edx, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
sub edx, eax
sub edx, 0x14
push edx
call fcn.004c12b0
mov ecx, dword [esp + 0x1c]
mov edx, eax
add edx, 0xa
mov eax, ecx
sub eax, edx
mov dword [esp + 0x18], edx
cdq
xor eax, edx
add esp, 8
sub eax, edx
mov edx, dword [esp + 0x40]
add edx, 0xa
cmp eax, edx
jge 0x44692a
mov edx, dword [esp + 0x54]
mov eax, esi
sub eax, edx
sub eax, 0x14
push eax
call fcn.004c12b0
mov ecx, dword [esp + 0x18]
mov edx, eax
add edx, 0xa
mov eax, ecx
sub eax, edx
mov dword [esp + 0x14], edx
cdq
xor eax, edx
add esp, 4
sub eax, edx
mov edx, dword [esp + 0x40]
add edx, 0xa
cmp eax, edx
jl 0x4468f5
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push esi
push eax
push edi
push ebx
push ecx
mov ecx, dword [esp + 0x64]
lea eax, [ecx + 0xb]
push eax
push fcn.004d4cf0
call fcn.004a97c0
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x6c]
push esi
push edx
push edi
push ebx
push eax
lea eax, [ecx + 0xc]
push eax
push fcn.004d4cf0
call fcn.004a97c0
add esp, 0x38
jmp 0x446971
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x58]
push ecx
lea eax, [edx + 0x11]
lea edx, [esp + 0x44]
push edx
push eax
call fcn.004a9760
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x50]
lea edx, [esp + 0x60]
add eax, 0x12
push ecx
push edx
push eax
call fcn.004a9760
mov eax, dword [esp + 0x58]
add esp, 0x18
test eax, eax
je 0x446a99
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x446a99
lea edx, [ecx + eax + 0x50]
mov ecx, dword [esp + 0x48]
cmp ecx, edx
jle 0x446a99
sub ecx, eax
sub ecx, 0x14
push ecx
call fcn.004c12b0
mov edx, dword [esp + 0x58]
add eax, 0xa
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
sub eax, edx
sub eax, 0x14
push eax
call fcn.004c12b0
mov ecx, dword [esp + 0x1c]
mov edx, eax
add edx, 0xa
mov eax, ecx
sub eax, edx
mov dword [esp + 0x18], edx
cdq
xor eax, edx
add esp, 8
sub eax, edx
mov edx, dword [esp + 0x40]
add edx, 0xa
cmp eax, edx
jge 0x446a4a
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x54]
sub eax, edx
sub eax, 0x14
push eax
call fcn.004c12b0
mov ecx, dword [esp + 0x18]
mov edx, eax
add edx, 0xa
mov eax, ecx
sub eax, edx
mov dword [esp + 0x14], edx
cdq
xor eax, edx
add esp, 4
sub eax, edx
mov edx, dword [esp + 0x40]
add edx, 0xa
cmp eax, edx
jl 0x446a13
mov eax, dword [esp + 0x48]
push esi
push eax
mov eax, dword [esp + 0x60]
mov edx, ebx
push edi
sub edx, eax
mov eax, dword [esp + 0x5c]
add edx, esi
add eax, 0x11
push edx
push ecx
push eax
push fcn.004d4cf0
call fcn.004a97c0
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
sub ebx, edx
mov edx, dword [esp + 0x2c]
push esi
push ecx
add ebx, esi
push edi
push ebx
add eax, 0x12
push edx
push eax
push fcn.004d4cf0
call fcn.004a97c0
add esp, 0x38
mov ebx, dword [esp + 0x50]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x40]
push ecx
lea eax, [ebx + 0xd]
push edx
push eax
call fcn.004a9760
lea ecx, [esp + 0x50]
lea edx, [esp + 0x60]
lea eax, [ebx + 0xe]
push ecx
push edx
push eax
call fcn.004a9760
mov eax, dword [esp + 0x58]
add esp, 0x18
test eax, eax
je 0x446bab
mov eax, dword [esp + 0x54]
test eax, eax
je 0x446bab
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
lea edx, [ecx + eax + 0x50]
cmp esi, edx
jle 0x446bab
mov ecx, esi
sub ecx, eax
sub ecx, 0x14
push ecx
call fcn.004c12b0
mov ecx, dword [esp + 0x48]
mov edx, esi
sub edx, ecx
add eax, 0xa
sub edx, 0x14
mov dword [esp + 0x18], eax
push edx
call fcn.004c12b0
mov ecx, eax
mov eax, dword [esp + 0x1c]
add ecx, 0xa
add esp, 8
sub eax, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x58]
cdq
xor eax, edx
add ecx, 0xa
sub eax, edx
cmp eax, ecx
jge 0x446b6c
mov ecx, dword [esp + 0x44]
mov edx, esi
sub edx, ecx
sub edx, 0x14
push edx
call fcn.004c12b0
mov ecx, eax
mov eax, dword [esp + 0x18]
add ecx, 0xa
add esp, 4
sub eax, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x58]
cdq
xor eax, edx
add ecx, 0xa
sub eax, edx
cmp eax, ecx
jl 0x446b39
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
push esi
push ebx
push edi
push edx
add eax, 0xd
push ebp
push eax
push fcn.004d4cf0
call fcn.004a97c0
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x2c]
push esi
push ebx
push edi
push ecx
lea eax, [edx + 0xe]
push ebp
push eax
push fcn.004d4cf0
call fcn.004a97c0
add esp, 0x38
jmp 0x446baf
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x40]
add eax, 0xf
push ecx
push edx
push eax
mov dword [esp + 0x54], eax
call fcn.004a9760
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x50]
lea edx, [esp + 0x60]
add eax, 0x10
push ecx
push edx
push eax
mov dword [esp + 0x68], eax
call fcn.004a9760
mov eax, dword [esp + 0x58]
add esp, 0x18
test eax, eax
je 0x446cd3
mov eax, dword [esp + 0x54]
test eax, eax
je 0x446cd3
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
lea edx, [ecx + eax + 0x50]
cmp esi, edx
jle 0x446cd3
mov ecx, esi
sub ecx, eax
sub ecx, 0x14
push ecx
call fcn.004c12b0
add eax, 0xa
mov edx, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
sub edx, eax
sub edx, 0x14
push edx
call fcn.004c12b0
mov ecx, eax
mov eax, dword [esp + 0x1c]
add ecx, 0xa
add esp, 8
sub eax, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x58]
cdq
xor eax, edx
add ecx, 0xa
sub eax, edx
cmp eax, ecx
jge 0x446c8e
mov eax, dword [esp + 0x44]
mov edx, esi
sub edx, eax
sub edx, 0x14
push edx
call fcn.004c12b0
mov ecx, eax
mov eax, dword [esp + 0x18]
add ecx, 0xa
add esp, 4
sub eax, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x58]
cdq
xor eax, edx
add ecx, 0xa
sub eax, edx
cmp eax, ecx
jl 0x446c5b
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
mov eax, ebp
push esi
sub eax, ecx
mov ecx, dword [esp + 0x4c]
push ebx
push edi
add eax, ebx
push edx
push eax
push ecx
push fcn.004d4cf0
call fcn.004a97c0
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
push esi
sub ebp, eax
mov eax, dword [esp + 0x70]
push ebx
push edi
add ebp, ebx
push edx
push ebp
push eax
push fcn.004d4cf0
call fcn.004a97c0
add esp, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret